通过具体数值对单链表进行初始化

在操作单链表之前需要对其进行初始化之类的工作,下面通过具体的代码来说明其初始化方法:

 1 #include<iostream>
 2 using namespace std;
 3 typedef struct Listnode
 4 {
 5     int data;
 6     struct Listnode *next;
 7     Listnode(int x):data(x),next(NULL){}
 8
 9 }Listnode;
10 Listnode *createList()
11 {
12     Listnode *prehead = new Listnode(-1);
13     return prehead;
14 }
15 Listnode *initList(Listnode *preheadInit)
16 {
17     int a[] = {1,2,3,4,5,6,7,8,9};
18     Listnode *cur,*head;
19     cur = preheadInit;
20     for(int i = 0;i < sizeof(a)/sizeof(a[0]);i++)
21     {
22         Listnode *p = new Listnode(a[i]);
23         cur->next = p;
24         cur = cur->next;
25     }
26     head = preheadInit;
27     return head->next;
28 }
29 void showList(Listnode *head)
30 {
31     while(head)
32     {
33         cout << head->data << endl;
34         head = head->next;
35     }
36 }
37
38
39
40 int main()
41 {
42     Listnode *prehead = createList();
43     Listnode *head = initList(prehead);
44     showList(head);
45 }

输出的结果就是1 2 3 4 5 6 7 8 9。

时间: 2024-10-29 19:10:53

通过具体数值对单链表进行初始化的相关文章

单链表的初始化和创建(尾插法)

1 #include<stdlib.h> 2 #include<stdio.h> 3 typedef struct Node 4 { 5 int data; 6 struct Node *next; 7 }Node,*LinkList; 8 9 void initList(LinkList *L) 10 { 11 (*L) = NULL; 12 printf("初始化成功\n"); 13 } 14 15 LinkList creatList(int n) 16

单链表的初始化,建立,插入,查找,删除。

#include <stdio.h> #include <stdlib.h> typedef int ElemType; //定义结点类型 typedef struct Node { ElemType data;              //单链表中的数据域 struct Node *next;          //单链表的指针域 }Node,*LinkedList; //单链表的初始化 LinkedList LinkedListInit() { Node *L; L = (N

单链表的初始化,整表创建,单个元素插入,单个元素删除,整表删除等操作

很早之前学的数据结构,放了很久后,以致对里面的一些操作都有些遗忘,故而再次温习了一下数据结构,并整理了一点儿笔记,放在这里和大家分享, 我的代码注释的已经很详细了,对于容易出错的地方我也都有标注,欢迎大家交流. #include "stdafx.h" #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <time.h> #define OK 1 #defi

线性单链表的初始化、插入、删除功能实现

1 ////////////////////////////////////////////////////////// 2 // singlelist.cpp 3 // 4 // author:Leetao 5 ////////////////////////////////////////////////////////// 6 // 简介: 7 // 线性链表的实现 8 ////////////////////////////////////////////////////////// 9

线性表之单链表学习小结(初学数据结构必看)

花了好几个小时,详细规划出了整个过程,包括所有基本操作...有什么疑问请下方留言 #include<iostream> using namespace std; #define ElemType char #define ERROR 0 #define OK 1 typedef struct Node { ElemType data; struct Node *next; }Node,*LinkList; void init_linklist(LinkList L)/*对单链表进行初始化*/

实现单链表的各种基本运算

1 #include<iostream> 2 using namespace std; 3 4 #define OK 1 5 #define ERROR 0 6 #define OVERFLOW -2 7 typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码. 8 typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型 9 10 typedef struct LNode 11 { 12 ElemTyp

D_S 单链表的基本操作

//  main.cpp #include <iostream> using namespace std; #include "Status.h" #include "LinkList.h" int main() { LinkList L; int n,i; ElemType e; InitList(L); cout<<"\nL="; ListTraverse(L); cout<<"\n请设置将向线性

线性表之单链表实现一元多项式相加

一元多项式定义: 设a0,a1,a2,-,an-1,an都是数域F中的数(注:1,2,--,n-1,n均为a的下角标),n是非负整数,那么表达式 anx^n +an-1x^(n-1)+-+a2x^2 +a1x + a0(an≠0) (1) 叫做数域F上一个文字x的多项式或一元多项式.在多项式(1)中,a0叫做零次多项式或常数项,a1x叫做一次项,一般,aix叫做i次项,ai叫做i次项的系数.一元多项式用符号f(x),g(x),-来表示. 说一下思路,利用带有两个数据元素的链表实现加法运算,数据域

C语言实现单链表的基本操作及其部分面试题

//单链表的基本数据类型及其结构 typedef int DataType; typedef struct LinkNode { DataType data; struct LinkNode *next; }LinkNode,*pLinkNode,*pLinkList; //单链表的初始化 void InitLinkList(pLinkList* pHead)//初始化 { assert(pHead); *pHead = NULL; } //当尾插,头插,插入时都需要建立一个新的结点,为方便建立