#include <stdio.h> #include <stdlib.h> #define MAX 10 struct List{ int Number; char Name[MAX]; struct List * Next; }; typedef struct List Node; typedef Node *Link; void Free_List(Link Head) { Link Pointer; while(Head!=NULL){ Pointer = Head; Head=Head->Next; free(Pointer); } } void Print_List(Link Head) { Link Pointer=Head; while (Pointer!=NULL){ printf("Input Data\n"); printf("Data Numberber: %d\n",Pointer->Number); printf("Data Name: %s\n",Pointer->Name); Pointer=Pointer->Next; } } Link Create_Link(Link Head) { int DataNum; char name[10]; Link New; Link Pointer; int i; Head = (Link) malloc(sizeof(Node)); if(Head==NULL){ printf("記憶體配置失敗\n"); }else{ DataNum = 1; printf("請輸入名字:"); scanf("%s",name); Head->Number=DataNum; for(i=0;i<=MAX;i++){ Head->Name[i]=name[i]; } Head->Next=NULL; Pointer=Head; while(1){ DataNum++; New = (Link) malloc(sizeof(Node)); printf("請輸入名字:"); scanf("%s",name); if(name[0]=='0') break; New->Number=DataNum; for(int i=0;i<=MAX;i++){ New->Name[i]=name[i]; } New->Next=NULL; Pointer->Next=New; Pointer=New; } } return Head; } void main() { Link Head; Head = Create_Link(Head); if(Head!=NULL){ Print_List(Head); Free_List(Head); } system("pause"); }
2012/11/24
資料結構 單向鍊結串列應用
單向鍊結串列應用