• 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,也可从第一个结点开始遍历

  • 相关阅读:
    Mac使用笔记(二)
    AJAX tooltip by jQuery UI Widget and MVC3
    MVC4的bundling功能简介
    Mac使用笔记
    浅析ASP.Net Web API的Formatter
    浅析ASP.net Web API的Model验证(使用MVC4框架的Web API须谨慎)
    2012年读过的最好的书
    SQLite在.net下的使用方法
    C#也允许函数默认参数
    chrome不支持对opener方法的调用?
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/12500951.html
Copyright © 2020-2023  润新知