linklist.c

来自「用于学习数据结构得初学者学习数据结构单链表」· C语言 代码 · 共 82 行

C
82
字号
#include "stdio.h"
#include "conio.h"
typedef struct q
{ int data;
   struct q *next;

} linklist;
void createlist(linklist *l,int a[],int n)
{ linklist *s;int i;
   l->next=NULL;
    for(i=0;i<n;i++)
    {s=(linklist *)malloc(sizeof(linklist));
      s->data=a[i];
       s->next=l->next;
        l->next=s;
   }
}
 void createlistwei(linklist *l,int a[],int n)
     { linklist *s,*r;int i;
        r=l;
         for(i=0;i<n;i++)
          { s=(linklist *)malloc(sizeof(linklist));
             s->data=a[i];
              r->next=s;
                r=s;
          }
          r->next=NULL;
 }
   void displist(linklist *l)
   { linklist *p=l->next;
      int i;
      while(p!=NULL)
       { printf(" %d",p->data);
         p=p->next;
       }
   }
   int listinsert(linklist *l,int i,int e)
   {int j=0;
     linklist *p=l,*s;
     while(j<i-1 && p!=NULL)
     { j++;
     p=p->next;
     }
     if(p==NULL)
       return 0;
        else
      { s=(linklist *)malloc(sizeof(linklist));
        s->data=e;
        s->next=p->next;
        p->next=s;
        return 1;
     }

   }
 main()
 {  int a[50];
    int length;
    int i;
    int e=0;
    linklist m;
    linklist *l;
    l=&m;
    printf("pelese enter then length but the length can not >50\n");
    scanf("%d",&length);
    printf("pelese enter then arr\n");
    for(i=0;i<length;i++)
     scanf("%d",&a[i]);
     printf("pelese enter angy key to continue\n");
     getch();

   createlistwei(l,a,length);
   displist(l);
    printf("\n");
   createlist(l,a,length);
   displist(l);
   printf("\n");
   listinsert(l,i,e);

    displist(l);
   getch();
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?