ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据结构-单链表

2022-04-30 12:34:37  阅读:135  来源: 互联网

标签:Node 结点 单链 int next Pmov 数据结构 data


单链表的定义

单链表是线性结构,每个结点都有一个数据域和指针域,用以指向后继结点,可以通过前驱结点中的指针域中的地址信息找到后继结点的位置,所以链表有一个缺点就是不能直接找到某个结点,而是要从头结点开始依次查找,即链表不支持随机访问。

结构体表示如下:

#include <iostream>
using namespace std;
typedef struct 
Node{
    int data;
    sruct Node* next;
}Node;
int main(){
   ...
    return 0;
}

单链表的基本操作

初始化

创建头结点保证头指针始终不为NULL,如果为空表则头结点的next指针为NULL

Node* InitList(){
    Node* headNode = (Node*)malloc(sizeof(Node));
    Node -> next = NULL;
    return headNode
}

创建结点

创建一个结点,结点的数据域必须有值

Node* CreateElem(int data){
    Node* Newelme = (Node*)malloc(sizeof(Node));
    Newelem -> data = data;
    Newelem -> next = NULL;
    return Newelem;
}

插入结点

头插法


尾插法


void InsertList(Node* headList,int data);
Node* P = CreatElme();
P -> next = headList -> next;
headList -> next = P;

打印结点

void PrintList(Node* HeadList){
    Node* Pmov = HeadList -> next;
    while(Pmov){
        printf("%d",Pmov.data);
        Pmov = Pmov -> next;
    }
}

删除结点


标签:Node,结点,单链,int,next,Pmov,数据结构,data
来源: https://www.cnblogs.com/chengsukai/p/11618133.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有