zoukankan      html  css  js  c++  java
  • 10 创建单链表(创建头结点的方式,尾插入初始化赋值)

    #include<stdio.h>
    #include<stdlib.h>
    
    //链表中节点的结构
    typedef struct Link {
        int  data;
        struct Link* next;
    }link;
    
    //链表初始化
    link* initLink(link* head_node) {
        head_node = (link*)malloc(sizeof(link)); //头结点申请空间
        head_node->data = 000; //头结点的数据域是000
        head_node->next = NULL;
    
        link* tmp = head_node; //tmp,保存头结点
    
        //尾插入初始化赋值
        printf("输入若干个值保存到链表中:
    ");
        int num = 0;
        while (num != -1) { //-1代表结束
            scanf("%d", &num);
            link* new_node = (link*)malloc(sizeof(link)); //申请新的结点
            new_node->data = num;
            new_node->next = NULL;
            tmp->next = new_node;  //头结点的指针域指向这个新申请的结点
            tmp = new_node;  //头结点后移
        }
        printf("头指针指向的值是:%d
    ", head_node->next->data);//1
        return head_node;  //将头结点返回
    }
    
    
    void showLink(link* head_node) {
        link* tmp = head_node;  //tmp,保存头结点
        while (tmp->next != NULL) { 
            if (tmp->data == -1) {
                break;
            }
            printf("%d ", tmp->data);
            tmp = tmp->next;
        }
        printf("
    ");
    }
    
    
    void main() {
        link* myheadNode = NULL; //创建头结点
        myheadNode = initLink(myheadNode); //获得经过初始化后的头结点
        printf("初始化链表为:
    ");
        showLink(myheadNode);
        
    }
    

     头结点的数据域是0,也可从第一个结点开始遍历

  • 相关阅读:
    谁是你随时可以说话的人
    我们在帝都这么拼,为的是什么?
    CVE-2016-4758: UXSS in Safari's showModalDialog
    JSON-SCHEMA
    JS城市data
    linux(centos )mongodb install
    python pip install
    基于chrome内核的UXSS
    Trying to hack Redis via HTTP requests
    Apache Solr 访问权限控制
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/12500951.html
Copyright © 2011-2022 走看看