1. 单链表的整表创建的算法思路--头插法 
  2.   
  3. 1、声明一结点p和计数器变量j 
  4. 2、初始化一空链表L 
  5. 3、让L的头结点的指针指向NULL,即建立一个带头结点的单链表 
  6. 4、循环 
  7.     生成一新结点赋值给p 
  8.         随即生成一数字赋值给p的数据域p->data 
  9.     将p插入到头结点与前一结点之间 
  10.   
  11. /*随即生成n个元素的值,建立带头结点的单链表L*/ 
  12.   
  13. void CreateListHead(LinkList *L, int n) 
  14.     LinkList p; 
  15.     int i = 0; 
  16.       
  17.     srand(time(0));//初始化随即种子 
  18.     *L = (LinkList)malloc(sizeof(NODE)); 
  19.     (*L)->next = NULL;  //先建立一个带头结点的单链表 
  20.   
  21.     for(i = 0; i<n; i++) 
  22.     { 
  23.         p = (LinkList)malloc(sizeof(NODE));//生成新结点 
  24.         p->data = rand()%100+1;//随机生成100以内的数字 
  25.         p->next = (*L)->next;// 
  26.         (*L)->next = p;   //插入到表头 
  27.     } 
  28.   
  29.   
  30. /*插队的办法,始终让新结点在第一的位置。*/