#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *link; //1.자기 자신을 저장할수 있는 포인터
};
void input_node(struct node **root,int data) //**node안에는 root가 가지고있는 주소,data는 값
{
struct node *tmp; //동적할당할 포인터 변수
struct node *search = *root; //널값을 찾아줄 변수
tmp = (struct node *)malloc(sizeof(struct node) * 1); //*1은 1개만 만든다는거
tmp->data = data;
tmp->link = NULL;
if(*root == NULL) //root 에 주소가없고 null경우
{
*root = tmp; // root에 tmp를 넣는다
}
else
{
while(1)
{
if(search->link == NULL) // 만약 search가 link를 찾았을때 null이면
{
search->link = tmp; // link에 tmp를 덮어씌운다 (다음 노드와 연결)
break;
}
search = search->link;
}
}
}
void output_node(struct node root)
{
while(1)
{
if(root->link == NULL)
{
break;
}
else
{
printf("%s\n",root->link);
}
}
}
int main()
{
struct node *root = NULL; //2.노드 주소를 알고있을 포인터 변수 생성
int i; // 아무것도 없는 상태라 NULL값
input_node(&root,1); //3-2.노드 생성함수 만듬
//3-2.1은 처음 노드가 받는 값
input_node(&root,2);
input_node(&root,3);
input_node(&root,4);
output_node(root); //data값 출력
root = root->link;
return 0;
}
주석 빠진데있으면 주석도 달아주고
주석 오류있으면 주석 수정좀해주라.. 제발..
그리고 위에 아직 수정할게 많은것같은데
data 1 ,2 ,3 ,4 입력된거 출력하려면 어떻게해야되 ?
output_node 라는 함수 선언하고
그걸로 출력해야하는것같은데 도통 모르겠어..
여기에 다 병신밖애 없어서 자료구조 몰라 ㅋㅋㅋ진심 여기다 전문대 혹은 학원종자들밖에 없음 ㅋㅋ 알고리즘 컴구조 자료구조 이런거 물어보면 조또 몰름 ㅋㅋ
프로그래머들있다메..
웹프로그래밍은 저런거 몰라도 잘해
기달려봐 소스좀읽고
미친새끼가 숙제하나 해달라고 툭 던져놓고 가면 어떤 병신이 답해주냐
아니 왜 연결리스트에 더블포인터나쓰지
레니르트// intput함수에서 main함수에있는 root가 NULL 이면 값 할당해줘야 되자나
병신 종자가 아니라..알아도 저런건 답변달기 귀찮지..누가 요즘에 연결리스트를 만들어서 쓰냐??저런건 학교다닐때 한번해보면 그게 끝임..현업에서 쓰면 개욕먹고 쫓겨날껄...거기다가 연결리스트라는게 그냥 포인터 구조체나 클래스에 들고있고 앞(Prev),뒤(Next)만 잘연결해주는 개념만 알면됨..만드는건 저딴 드러운코드밖에 안나옴...근데 저건 더 드럽긴하다..그러니까 알아도 답변을 안다는겨...STL가기전에 그냥 잠깐 경험해보는 수준이 자료구조 직접 짜는건데..