본문 바로가기

C언어 프로그래밍

링크드 리스트 기본 골격 프로그램

// linked_list.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <string.h>
#include <malloc.h>

// 28 byte

struct Node
{
 int id;
 char data[20];
 struct Node * next;
};


int main(int argc, char* argv[])
{
 printf("** Linked List Program!!\n");

 struct Node * head=NULL;
 struct Node * curr=NULL;
 struct Node * prev=NULL;

 int id=0;
 char buf[20];

 printf("##phase1##\n");
 while(true)
 {
  printf("(i) input name(Quit:q):");
  scanf("%s",buf);
  if(buf[0]=='q') break;
  curr = (struct Node *) malloc(sizeof(struct Node));
  curr->id=id;
  strcpy(curr->data,buf);
  curr->next=NULL;

  if(id==0) head= curr;
  else prev->next=curr;

  id++;
  prev=curr;
 }

 printf("##phase2##\n");
 curr=head;
 while(curr!=NULL)
 {
  printf("id:%d, name:%s\n",curr->id, curr->data);
  curr= curr->next;
 }

 printf("##phase3##\n");
 curr=head;
 while(curr!=NULL)
 {
  printf("id:%d\n",curr->id);
  head= curr->next;
  free(curr);
  curr= head;
 }


 return 0;
}


'C언어 프로그래밍' 카테고리의 다른 글

지그재그 출력  (0) 2009.09.22
체스판위의 개미  (0) 2009.09.22
틱택토  (0) 2009.09.15
성적 입력 출력 프로그래밍  (0) 2009.09.15
최소,최대,평균,중간값 구하는 프로그래밍  (0) 2009.09.15