使用c语言实现单链表是考研的重点。但是如何实现却是一个难点。下面是我写的一个简单的创建单链表的代码。
#include#include #include typedef struct node{ int data; struct node *next; }LinkList; //结构体的定义 LinkList *create_Link(){ //创建单链表的主要代码(尾插法建立单链表) LinkList *head = NULL; LinkList *temp = NULL; LinkList *tail = NULL; head = (LinkList *)malloc(sizeof(LinkList)); head->next = NULL; int x; scanf("%d",&x); while(x!=-1){ //循环停止条件,可以按照自己要求更改 temp = (LinkList*)malloc(sizeof(LinkList)); temp->data=x; temp->next=NULL; if(head->next==NULL){ head->next=temp; }else{ tail->next=temp; } tail=temp; scanf("%d",&x); } return head; } void print_Link(LinkList *L){ //打印出单链表 L = L->next; while(L!=NULL){ printf("%d ",L->data); L=L->next; } } int main(){ //主函数 LinkList *L = create_Link(); print_Link(L); return 0; }
实验结果截图:



