数据结构与算法学习笔记(四)

  1. 单链表的整表创建
    1. 声明一结点p和计数器变量i
    2. 初始化一空链表L
    3. 让L的头结点的指针指向NULL,即建立一个带头结点的单链表
    4. 循环实现后继结点的赋值和插入
  2. 头插法:从一个空表开始,生成新节点,读取数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头上,直到结束位置。简单来说就是把新加进的元素放在表头后的第一个位置
    1. 先让新结点的next指向头结点之后
    2. 然后让表头的next指向新结点
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;
        p->next = (*L)->next
    }
}

  3. 尾插法建立单链表

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 = (Node *)malloc(sizeof(Node));
        p->data = rand()%100+1;
        r->next = p;
        r = p;
    }
    r->next = NULL;
}

 

你可能感兴趣的:(数据结构与算法学习笔记(四))