#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
資料結構 單向鍊結串列應用
單向鍊結串列應用
