数据结构单链表初始化
Posted 技术能量站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构单链表初始化相关的知识,希望对你有一定的参考价值。
#include <stdio.h> #include <stdlib.h> //链表中节点的结构 typedef struct Link int elem; struct Link *next; link; //初始化链表的函数 link * initLink(); //用于输出链表的函数 void display(link *p); int main() //初始化链表(1,2,3,4) printf("初始化链表为:\\n"); link *p = initLink(); display(p); return 0; //无头节点的链表 //link * initLink() // link * p = NULL;//创建头指针 // link * temp = (link*)malloc(sizeof(link));//创建首元节点 // //首元节点先初始化 // temp->elem = 1; // temp->next = NULL; // p = temp;//头指针指向首元节点 // for (int i = 2; i<5; i++) // link *a = (link*)malloc(sizeof(link)); // a->elem = i; // a->next = NULL; // temp->next = a; // temp = temp->next; // // return p; // //含头结点的链表 link * initLink() link * p = (link*)malloc(sizeof(link));//创建一个头结点 link * temp = p;//声明一个指针指向头结点, //生成链表 for (int i = 1; i<5; i++) link *a = (link*)malloc(sizeof(link));//申请一个新节点 a->elem = i;//第二个节点的数据域a->data=1; a->next = NULL;//指针域为空 //a所指向的节点连接在temp指向节点的后面(新节点插入链尾) temp->next = a; //指针temp每次都指向新链表的最后一个节点,其实就是 a节点,这里写temp = a也对(修改为指针) temp = temp->next; return p; //void display(link *p) // link* temp = p;//将temp指针重新指向头结点 // //只要temp指针指向的结点的next不是Null,就执行输出语句。 // while (temp) // printf("%d ", temp->elem); // temp = temp->next; // // printf("\\n"); // void display(link *p) link* temp = p;//将temp指针重新指向头结点 //只要temp指针指向的结点的next不是Null,就执行输出语句。 while (temp->next) temp = temp->next; printf("%d", temp->elem); printf("\\n");
以上是关于数据结构单链表初始化的主要内容,如果未能解决你的问题,请参考以下文章