系统:linux
语言环境:C
编译器:GCC
头文件
#include<stdio.h>
#include<stdlib.h>
编译预声明
typedefstruct Node *PtrToNode;
typedefPtrToNode List;
typedefPtrToNode Position;
typedefint ElementType;//test data is integer
structNode;
单链表的创建与打印函数声明
voidCreateList(List head);
voidPrintList(List L);
结构
structNode
{
ElementTypeElement;
PositionNext;
};
代码实现部分
#include <stdio.h>
#include <stdlib.h>
/*编译初始化时候的定义声明*/
typedef struct Node *PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;
typedef int ElementType;//test data is integer
struct Node;
/*functions*/
void CreateList(List head);
void PrintList(List L);
struct Node
{
ElementType Element;
Position Next;
};
int main()
{
List head;
head=malloc(sizeof(struct Node));
head->Next=NULL;
CreateList(head);
printf("List is be created successfully!\n");
PrintList(head);
printf("List is be printed successfully!\n");
return 0;
}
void CreateList(List head)
{
ElementType input;
List L;
L=head;
List temp;
printf("输入整数来创建单链表,输入0是结束创建\n");
while(scanf("%d",&input))
{
if(input!=0)
{
temp=malloc(sizeof(struct Node));
temp->Element=input;
L->Next=temp;
L=temp;
}
else
{
L->Next=NULL;
break;
}
}
}
void PrintList(List L)
{
L=L->Next;
while(L!=NULL)
{
printf("%d\n",L->Element);
L=L->Next;
}
}
实现演示: