您的位置:首页 > 理论基础 > 数据结构算法

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

2013-09-21 11:46 465 查看
头插法

[cpp] view
plaincopy

//随机产生n个元素的值,建立代表头结点的单链线性表L(头插法)  

void CreateListHead(LinkList * L,int n)  

{  

    LinkList p;  

    int i;  

    srand(time(0)); //随机产生数  

    *L = (LinkList)malloc(sizeof(Node));  

    (*L)->next = NULL;   //先建立一个带头结点的单链表  

    for (i=0;i<n;i++)  

    {  

        p = (LinkList)malloc(sizeof(Node)); //生成新结点  

        p->data = rand()%100+1;  //随机生成1001以内的数字  

        p->next = (*L)->netx;  

        (*L)->next
d03c
 = p;  //插入到表头  

    }  

}  

 

尾插法:

[cpp] view
plaincopy

void CreateListTail(LinkList * L,int n)  

{     

    LinkList p,r;  

    int i;  

    srand(time(0)); //随机产生数  

    *L = (LinkList)malloc(sizeof(Node));  

    r = *L;  

    for (i=0;i<n;i++)  

    {  

        p = (LinkList)malloc(sizeof(Node)); //生成新结点  

        p->data = rand()%100+1;  //随机生成1001以内的数字  

        r->next = p; //将表尾终端结点指向新结点  

        r = p;  //将当前新结点定义为表尾终端结点  

    }  

    r->next = NULL;  //表示当前链表结束  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构 单链表