• 头插法创建链表


     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 /*
     4 头插法建立链表:所谓头插法,就是新来的结点每次都插在头结点后面
     5 内功心法:让新来的结点先有所指向(指向头结点的下一个结点),新来的结点,有所指向不会打断原有的指向关系。
     6 */
     7 typedef struct node
     8 {
     9     int data;
    10     struct node * next;
    11 }NODE;
    12 NODE * Createlist()
    13 {
    14     NODE *head = (NODE*)malloc(sizeof(NODE));
    15     head->next = NULL;
    16     
    17     NODE * cur = NULL;
    18     int data;
    19     printf("请输入结点数据
    ");
    20     scanf("%d",&data);
    21 
    22     while(data)
    23     {
    24         cur = (NODE *)malloc(sizeof(NODE));//创建一个新结点
    25         cur->data = data;
    26         cur->next = head->next;//让新结点有所指向,指向头结点的下一个结点
    27         head->next = cur;
    28         scanf("%d",&data);
    29     }
    30 
    31     return head;
    32 }
    33 void traverList(NODE *head)
    34 {
    35     head = head->next;//跳过头结点,因为头结点的data域为空
    36     while(head)
    37     {
    38         printf("%d",head->data);
    39         head = head->next;
    40     }
    41 }
    42 int main(void)
    43 {
    44 //建立链表
    45     NODE *head = Createlist();
    46 //遍历链表
    47     traverList(head);
    48     
    49     return 0;
    50 }
  • 相关阅读:
    K均值算法
    4.K均值算法应用
    js实现点击不同按钮切换内容
    vue框架中的日期组件转换为yyymmdd格式
    sessionStorage和localStorage的使用方法
    vue中使用axios
    js中的原型对象链
    web端常见测试点
    软件测试手工测试
    前端面试题vue部分
  • 原文地址:https://www.cnblogs.com/wangchaomahan/p/9693949.html
Copyright © 2020-2023  润新知