#include<stdio.h> #include<malloc.h> typedef struct node { int date; struct node *next; }node,*lnode; void createlist(lnode &l,int n); //在链表 后边不断插入正序插入链表 void createlist2(lnode &l,int n); //在链表 前边一位不断插入节点 void display(lnode l); //显示链表 void display2(lnode l); int main() { lnode l; createlist(l,5); display(l); printf("\n"); display2(l->next); /* node l1,l2,l3; lnode p; l1.date=1; l1.next=&l2; l2.date=2; l2.next=&l3; l3.date=3; l3.next=NULL; p=&l1; //for(p=l1;p->next!=NULL;p=p->next) //{ printf("%d",p->next->date); //} */ return 0; } void createlist(lnode &l,int n) { int i; lnode p,q; l=(lnode)malloc(sizeof(node)); l->next=NULL; q=l; printf("输入数据\n"); for(i=0;i<n;i++) { p=(lnode)malloc(sizeof(node)); scanf("%d",&p->date); q->next=p; q=q->next; } q->next=NULL; } void createlist2(lnode &l,int n) { int i; lnode q; l=(lnode)malloc(sizeof(node)); l->next=NULL; printf("输入数据\n"); for(i=0;i<n;i++) { p=(lnode)malloc(sizeof(node)); scanf("%d",&p->date); p->next=l->next; l->next=p; } } void display(lnode l) { lnode p; for(p=l->next;p!=NULL;p=p->next) { printf("%d ",p->date); } } void display2(lnode l) { if(l==NULL) { return; } else { printf("%d",l->date); // l=l->next; display2(l->next); } }
重学数据结构 简单链表 倒叙,正序插入、常规显示、递归显示
最新推荐文章于 2022-06-06 16:10:49 发布