【数据结构】静态链表与动态链表

静态链表知多少 《大话数据结构》笔记——静态链表小结 阅读详情

    静态链表是用数组实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配大小。动态链表是用申请内存函数(C是malloc,C++是new)动态申请内存的,所以在链表的长度上没有限制。动态链表因为是动态申请内存的,所以每个节点的物理地址不连续,要通过指针来顺序访问。

#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include <stdio.h>
#include <stdlib.h>
/*所有结点都是在程序中定义的,不是临时开辟的,也不能用完后释放,这种链表称为“静态链表”。*/
struct Student
{
    int num;
    float score;
    struct Student *next;
};
int main()
{
    struct Student stu1, stu2, stu3, *head, *p;
    stu1.num = 1001; stu1.score = 80; //对结点stu1的num和score成员赋值
    stu2.num = 1002; stu2.score = 85; //对结点stu2的num和score成员赋值
    stu3.num = 1003; stu3.score = 90; //对结点stu3的num和score成员赋值
 
    head = &stu1;      //头指针指向第1个结点stu1
    stu1.next = &stu2; //将结点stu2的地址赋值给stu1结点的next成员
    stu2.next = &stu3; //将结点stu3的地址赋值给stu2结点的next成员
    stu3.next = NULL;  //stu3是最后一个结点,其next成员不存放任何结点的地址,置为NULL
    p = head;          //使p指针也指向第1个结点
 
    //遍历静态链表
    do{
        printf("%d,%f\n", p->num, p->score); //输出p所指向结点的数据
        p = p->next;                         //然后让p指向下一个结点
    } while (p != NULL);                     //直到p的next成员为NULL,即完成遍历
 
    system("pause");
}


#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include <stdio.h>
#include <stdlib.h>
/*所谓动态链表,是指在程序执行过程中从无到有地建立起一个链表,即一个一个地开辟结点和输入各结点数据,并建立起前后相链的关系。*/
struct Student
{
    int No;//学号
    struct Student *next;
};
int main()
{
    struct Student *p1, *p2, *head;
    int n = 0; //结点个数
    head = NULL;
    p1 = (struct Student *)malloc(sizeof(struct Student));
    printf("请输入1个学号\n");
    scanf("%d", &p1->No);
    p2 = p1; //开始时,p1和p2均指向第1个结点
    while (p1->No != 0)
    {
        n++;
        if (n == 1)
        {
            head = p1;
        }
        else
        {
            p2->next = p1;
        }
        p2 = p1;//p2是最后一个结点
        printf("请输入学号,输入0终止:\n");
        p1 = (struct Student *)malloc(sizeof(struct Student));
        scanf("%d", &p1->No);
    };
    p2->next = NULL;//输入完毕后,p2->next为NULL
 
    //遍历动态链表
    struct Student *p;
    p = head;
    while (p != NULL)
    {
        printf("%d,", p->No);
        p = p -> next;
    }
    printf("\n");
 
    system("pause");
}


数据结构之静态链表 静态链表:分配一整片连续的内存空间,各个结点集中安置,逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。也就是说静态链表是用数组来实现链式存储结构,静态链表实际上就是一个结构体数组举例:通过a[1]中存放的游标变量3可找到存放的数据元素5的后继元素为3,再通过a[3]中存放的游标变量2可找到存放数据元素3的后继数据为2,以此类推,直到某元素的游标变量为0即可停止(注:a[0]为头结点不存储数据元素) 阅读详情

相关推荐

从C语言的角度重构数据结构系列(四)-静态链表&动态链表

前言 是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素。 在这里给自己打个广告,需要的小伙伴请自行订阅。 python快速学习实战应用系列课程 https://blog.youkuaiyun.com/wenyusuran/category_2239261.html 手把手教你ML机器学习算法源码全解析 https://blog.youkuaiyun.com/wenyusuran/category_2239263.html 1.静态链表及其创建 静态链表,也是线性

wenyusuran的专栏 1318

一文详解动态链表和静态链表的区别

一文详解动态链表和静态链表的区别

大道至简,求同存异 6005

告别手动点鼠标:用Python脚本批量跑ADS版图仿真,效率提升10倍(附完整代码)

本文详细介绍了如何利用Python脚本自动化ADS版图仿真流程,显著提升射频工程师的工作效率。通过调用ADS底层接口,实现参数化修改、批量任务调度和结果自动收集,解决了手动操作中的常见问题,如仿真不更新等。附完整代码,帮助开发者快速实现10倍效率提升。

weixin_42523543的博客 332

链表的基础知识

链表的基础知识

m0_74215144的博客 1533

概率论—期末复习速成笔记(自用)

概率论期末复习

a200327的博客 2万+

27-eMMC电路设计

eMMC硬件电路设计

weixin_66510961的博客 4009

【一】一起算法---链表:动态链表、静态链表、STL list

c/c++经典算法---约瑟夫问题

Grand Examiner 1065

CUBEMX ADC 单/多通道+DMA

本文使用的是STM3F103C8T6 Cubemx进行单/多通道DMA配置。

记录学习 1404

C语言——静态链表和动态链表

超详细的静态链表和动态链表

qq_59990833的博客 1223

使用 MATLAB/Simulink 对基于同步发电机的双机系统进行建模,并对其在短路故障条件下的暂态稳定性进行仿真和分析

双机系统(Two-Machine System)是电力系统中用于研究动态稳定性和控制策略的一个典型模型。它由两台同步发电机通过输电网络相互连接,模拟实际电网中的互联操作。当发生短路故障时,系统的暂态稳定性会受到挑战,可能导致发电机失步或电压崩溃。本教程将带你使用 MATLAB/Simulink 对基于同步发电机的双机系统进行建模,并对其在短路故障条件下的暂态稳定性进行仿真和分析。

amy_mhd的博客 8507

python爬取银行年报2

python爬取公司年报(巨潮资讯网)

bboysteed的博客 4731

数据结构:静态链表和动态链表的区别概述

一、静态链表 连续的一片存储空间 静态链表的数据结构: typedef struct { int data; //静态链表节点中的数据 int cur; //静态链表节点中的游标 }component; 可以发现,静态链表中是没有指针的。一个节点去找它的后继是通过cur下标。 二、动态链表 传统的单链表 不要求存储空间连续,靠指针找后继。 判断题: 静态链表与动态链表在元素的插入、删除方面类似,不需要做元素的移动。 答:正确的。动态链表插入删除不用移动,这个不用多说。静态链表可以通过修

AAS48的博客 5531

一文搞懂LDO !

Start-up 时间是 IC 做死的,如果想要延时启动,最简单的办法是在 EN 上接一个大一些的电容到地,构成一个简单的 RC 电路。电容太小,电压跌落大,响应快。输出电流高,功率大;外围器件少,电路简单,成本低,负载响应快,输出纹波小;将采集的电压输入到比较器反向输入端,与正向输入端的基准电压(期望输出的电压)进行比较,再将比较结果进行放大;是指在给定负载变化下的输出电压的变化,这里的负载变化通常是从无负载到满负载。芯片的静态电流大小与其他性能成反关系,如低噪声,高电源电压抑制比,静态电流大。

weixin_46969363的博客 4385

数据结构的静态链表和动态链表的理解

数据结构:静态链表_Meditation-优快云博客首先我们让数组的元素都是由两个数据域组成,data和cur。也就是说,数组的每一个下标都对应一个data和一个cur。数据域data用来存放数据元素,也就是通常我们要处理的数据;而游标cur相当于单链表中的next指针,存放该元素的后继在数组中的下标。我们把这种用数组描述的链表叫做静态链表。数组的第一个元素,即下标为0的元素的cur就存放备用链表的第一个结点的下标;而数组的最后一个元素https://blog.youkuaiyun.com/jnu_simba/art

南风花海的博客 262

AI 大模型应用数据中心的数据清洗工具

1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场

SuperAGI2025 1804

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

基础数据结构【链表:动态链表,(结构体,一维数组)静态链表、STL list】

链接性:链表中的每个节点包含一个指针,指向下一个节点(单向链表)或前一个节点(双向链表)。通过这种链接关系,可以将一系列节点按照特定顺序连接在一起。动态性:链表的大小可以动态地调整,可以动态地添加或删除节点,而不需要像数组那样需要提前申请固定大小的内存空间。灵活性:链表可以在任何位置插入或删除节点,而不会影响其他节点的位置,因为每个节点都包含指针信息,可以直接访问相邻节点。内存空间的分散性:链表的节点在内存中可以分散存储,不要求一块连续的内存空间。这也是链表可以动态调整大小的原因。

ren_dao的博客 1455

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数据结构:静态链表和动态链表

链表的基本思想 静态链表: 大小固定,插入元素是固定的。 .h //静态链表 struct LinkContentStatic { int data; struct LinkContentStatic * next; }; .cpp LinkContentStatic node1 = {10,nullptr}; LinkContentStatic...

qq_41605114的博客 567

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数据结构之链表(单向链表、双向链表、单向循环链表、双向循环链表、静态链表、动态链表)

数据结构之链表(单向链表、双向链表、单向循环链表、双向循环链表、静态链表、动态链表) 单向链表 概念 单向链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。链表是使用指针进行构造的列表,并且是由一个个结点组装起来的,因此又称为结点列表。其中每个结点都有指针成员变量指向列表中的下一个结点,head指针指向第一个结点称为表头,而终止于最后一个指向nuLL的指针。 节点的数据结构 typedef struct _LINK_NODE { int data; struct

平头哥的博客 664

c++算法之数据结构篇(提高) - 动态链表与静态链表

本文全面介绍了C++中的动态链表与静态链表实现。动态链表通过指针动态分配节点内存,具有灵活性强、插入删除高效的特点,但存在内存泄漏风险;静态链表使用数组模拟指针,内存连续且无需手动管理,适合嵌入式系统但大小固定。文章详细对比了两者的性能、内存使用和适用场景,提供了完整的代码实现示例,包括学生管理系统等实际应用案例。同时给出了最佳实践建议和常见问题解决方案,并介绍了双向链表、循环链表等进阶主题,帮助开发者根据具体需求选择合适的链表实现方式。

巴巴博一巴巴博一巴巴博一 790

数据结构学习记录之3、静态链表动态链表异同

使用动态链表存储数据,不需要预先申请内存空间,而是在需要的时候才向内存申请。也就是说,动态链表存储数据元素的个数是不限的,想存多少就存多少。缺点:会存在内存碎片化使用的情况,而且内存不连续,需要借助指针访问。(个人认为,静态链表也需要游标才能访问,并没有方便多少)需要预先申请足够大的一整块内存空间,也就是说,静态链表存储数据元素的个数从其创建的那一刻就已经确定,后期无法更改。缺点:大小是固定的,不方便。优点:比较方便、自由,不受节点个数的限制,想加就加。优点:内存是连续的,不存在碎片化内存浪费的情况。

qq_44623261的博客 560

5月20日+21日数据结构学习:动态链表与静态链表,链表变形

定义数组必须(显式的或隐含的)指明元素的个数,从而也就限定了一个数组中存放的数据量。如果数组定义的小了,就没有足够的空间存放数据,定义大了又浪费存储空间。1.静态链表是顺序的储存结构,在物理地址上是连续的,需要预先分配地址空间的大小。对于这种情况,如果能在程序执行过程中,根据需要随时开辟存储空间,不需要时再随时释放,就能比较合理的使用存储空间。由于链表每个存储单元都由动态存储分配获得,故称这样的链表为“动态链表”。4.继承方式:链表类成为节点类的继承类(子类),实现比节点类更多的功能。

m0_72979740的博客 117

静态链表与动态链表

一 静态链表  静态链表往往基于数组和结构体进行实现 1 基于结构体实现 struct node { int left;//代表左边的编号 int right;//代表右边的编号 int id; }; struct node Node[100]; 2 基于数组实现 int node[100][3]; node[i][1]表示右边的编号 node[i][2]表示左边的编号 node[i][0]表示存在状况1为存在0为不存在 3 静态链表的基本操作 在编号为n的点左边插入 void

半杯的博客 883

数据结构选择题:什么时候该用静态链表而不是动态链表?5个真实场景对比

本文深入探讨了静态链表在5个真实场景下的应用优势,特别是在内存受限的嵌入式系统和实时性要求严格的系统中。通过对比静态链表与动态链表的特性,分析了静态链表在内存管理、性能确定性等方面的独特价值,并提供了优化技巧和避坑指南,帮助开发者做出更明智的数据结构选择。

weixin_30296405的博客 598

数据结构考研 单链表、双链表、循环链表和静态链表的习题

单链表、双链表、循环链表和静态链表的习题 一、单项选择题 1.关于线性表的顺序存储结构和链式存储结构的描述中,正确的是( )。 Ⅰ.线性表的顺序存储结构优于其链式存储结构 Ⅱ.链式存储结构比顺序存储结构能更方便地表示各种逻辑结构 Ⅲ.如频繁使用插入和删除结点操作,顺序存储结构更优于链式存储结构 Ⅳ.顺序存储结构和链式存储结构都可以进行顺序存取 A. Ⅰ、Ⅱ、Ⅲ B. Ⅱ、Ⅳ C. Ⅱ、Ⅲ D. Ⅲ、Ⅳ 本人计算机方向研二在读—— 数据结构专业课可一对一辅导 有辅导经验 直系学长 无

weixin_42060159的博客 4477

数据结构和算法(四)--静态链表和动态数组优化(了解)

数据结构和算法(四)–静态链表和动态数组优化(了解) 什么是静态链表 线性存储结构的一种,兼顾顺序表和链表的优点,是顺序表和链表的升级;静态链表的数据全部存储在数组中(顺序表),但存储的位置是随机的,数据直接的一对一关系是通过一个整型变量(称为“游标”,类似指针的功能)维持。 静态链表的特点 前面所学的链表都是依靠指针(引用)实现的,但是在早期的编程语言中有可能没有指针这个概念,那么可以用数组来实现链表 数组中每一个节点存放两个数据,第一个是本身节点的值,第二个是下一个节点的索引 数组的0位置默认是头节点

袁茂林的博客 321

动态链表和静态链表的实现

线性表分为顺序表和链表,顺序表可以简单理解成“数组”,而链表又可以划分为动态链表和静态链表。 这里主要讲解动态、静态链表的数据结构和实现。 动态链表 动态链表是通过指针来连接位置的,所以其数据结构应该包含数据域和指针域, 可以定义如下: struct node{ node *next; datatype data; }; 定义完之后,需要创建链表和删除、插入结点下面就要介绍这几个函数,由于链...

qq_36684096的博客 343
上一篇: 【数据结构】堆排序
下一篇: 【数据结构】广义表
HelloZEX
博客等级 码龄11年 486粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值