头插法和尾插法创建单链表

头插法

[cpp] view plaincopy
  1. //随机产生n个元素的值,建立代表头结点的单链线性表L(头插法)  
  2. void CreateListHead(LinkList * L,int n)  
  3. {  
  4.     LinkList p;  
  5.     int i;  
  6.     srand(time(0)); //随机产生数  
  7.     *L = (LinkList)malloc(sizeof(Node));  
  8.     (*L)->next = NULL;   //先建立一个带头结点的单链表  
  9.     for (i=0;i
  10.     {  
  11.         p = (LinkList)malloc(sizeof(Node)); //生成新结点  
  12.         p->data = rand()%100+1;  //随机生成1001以内的数字  
  13.         p->next = (*L)->netx;  
  14.         (*L)->next = p;  //插入到表头  
  15.     }  
  16. }  


 

尾插法:

[cpp] view plaincopy

  1. void CreateListTail(LinkList * L,int n)  
  2. {     
  3.     LinkList p,r;  
  4.     int i;  
  5.     srand(time(0)); //随机产生数  
  6.     *L = (LinkList)malloc(sizeof(Node));  
  7.     r = *L;  
  8.     for (i=0;i
  9.     {  
  10.         p = (LinkList)malloc(sizeof(Node)); //生成新结点  
  11.         p->data = rand()%100+1;  //随机生成1001以内的数字  
  12.         r->next = p; //将表尾终端结点指向新结点  
  13.         r = p;  //将当前新结点定义为表尾终端结点  
  14.     }  
  15.     r->next = NULL;  //表示当前链表结束  
  16. }  

你可能感兴趣的:(面试题,线性表,数据结构)