본문 바로가기
C언어

[C언어] 단순연결리스트를 작성하시오

by 이얏호이야호 2022. 12. 3.

코드보시고 공부하는데에 도움이 됐으면 좋겠습니다. 

코드확인해주세요!

더보기
#include<stdio.h>
#include<stdlib.h>
typedef struct Node *nodePoint;
typedef struct Node {
	int Data;
	nodePoint Newnode;
}Node;

typedef struct Head {
	nodePoint Newnode1;
}Head;
void Make_node(struct Head *head,int Data){
	Node *node;
	Node *New_node;//새 노드 생성
	New_node=(Node*)malloc(sizeof(Node));
	node=(Node*)malloc(sizeof(Node));
	New_node->Data=Data;//데이터 넣음
	New_node->Newnode=NULL;//마지막(NULL)가리킴

	if(head->Newnode1==NULL)//헤드가 널이면 처음 NewNode
		head->Newnode1=New_node;
	else{
		node=head->Newnode1;//첫 노드를 가리킴
		while(node->Newnode!=NULL){
			node=node->Newnode;//노드 맨 뒤로 옮김
		}
		node->Newnode=New_node;//마지막에 노드 삽입 
	}
}
Head* Make_Head(){
	struct Head *head;
	head=(Head*)malloc(sizeof(Head));
	head->Newnode1=NULL;//헤드가 처음생성으로 널을 가르킴
	return head;
}
void Node_print(struct Head head){
	struct Node* print;
	print=head.Newnode1;
	while(print!=NULL){
		printf("%d ",print->Data);
		print=print->Newnode;//다음 노드
	}
}
int main(){
	struct Head *head;
	struct Node *node;
	node=(Node*)malloc(sizeof(Node));
	head=Make_Head();//헤드 생성
	Make_node(head,1);
	Make_node(head,2);
	Make_node(head,3);
	Node_print(*head);//헤드부터 프린트
}

 

 

 

 

 

 

 

 

 

더 많은 C언어 글이 궁금하다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

 

댓글