代码编织梦想

什么是链表?链表是由一组不必相连【不必相连:可以连续也可以不连续】的内存结构 【节点】,按特定的顺序链接在一起的抽象数据类型

typedef struct Node{                //头结点

int data;

struct Node *next;

}Node,LinkList;

链表的创建

void create(LinkList head);
void find(LinkList head);

int main(){

LinkList head=(Node *)malloc(sizeof(Node));

head->next=NULL;    //头指针为空

create(head);

find(head);

}

create(LinkList head){

if(!head){

printf("头结点申请失败");

return 0;

}

Node *q=head;

for(int i=0;i<5;i++){

Node *p=(Node *)malloc(sizeof(Node));

p->data=i+1;

p->next=NULL;

p->next=q->next;

q->next=p;

}

}

void find(LinkList head){
    if(!head){
        printf("头结点空间申请失败!");
        return;
    }
    
    int value;
    printf("请输入待查找数据:");
    scanf("%d",&value);
    
    Node *q = head->next;
    
    while(q){
        if(value == q->data){
            printf("%d存在数组中!",value);
            return;
        }
        q = q->next;
    }
    printf("%d不存在数组!",value);
    
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zaxscdcf/article/details/129669357

C语言 链表创建及操作-爱代码爱编程

C语言 链表创建及操作 第一部分构建链表,定义结构体,分别用头插法、尾插法实现,这里封装了打印函数:printf();做练习方便后续使用;对链表进行查找,并将查找到的值构建一个新的链表;链表的转置;具体代码如下:#include<stdio.h> #include<stdlib.h> struct node //定义结构体 {

编写简单有序链表的创建和查询修改-爱代码爱编程

任务描述 编写一个简单的单向链表,实现对一组长度不定的有序整数的管理(查询、插入、修改、删除)。 编程要求 (1)创建一个单向链表,其结点包含值(number)和序号(xuhao)两个整型数据字段(序号从1开始递增,相邻两结点的序号相差1,下同), 输出该链表(按顺序从头部开始输出结点的值,相邻结点值之间用一个空格隔开,最后一个结点的值后不包含空格,

简单有序链表的创建和查询修改-爱代码爱编程

简单有序链表的创建和查询修改(假设链表的第一个有数据的节点编号为1) (1)建立一个单链表 21  3  15  27  11  18,并输出该链表; (2)输入序号n,查找序号为n的结点,并输出; (3)输入值x,查找值为x的结点,并输出; (4)插入结点: 输入序号 n和值x。在序号为n的结点后插入x,并输出该链表; (5)删除结点: 输入序

基于C语言的链表的创建-爱代码爱编程

为了对链表有一些了解,这里以单链表进行对其了解 首先,通过图形来简单了解和感受一下链表的基本原理: 结点是包括数据域和指针域的。或许很多人会说为什么要头结点,可不可以不要?答案是可以的 个人建议最好用上,为什么?先了解链表是怎么遍历整个链表的。 我们要打印出链表的数据域的值,假设是没有头结点的,如下图:   要打印出数据域的值,只需要得到首结点

链表的创建-爱代码爱编程

相当于整个链表是依靠指针串联起来的。 需要注意每一个结点也是一个指针,每个结点(即结构)里还有一个指针。  --node.h-- #ifndef _NODE_H_ #define _NODE_H_ typedef struct node{ int value; struct node *next; }node; #endif

c++ 链表的创建与链表常见操作_卡布达吃西瓜的博客-爱代码爱编程

c++ 链表的创建与链表常见操作 一、链表定义(struct) 下面的结构体定义了C++语言中的一种常见的链表节点,包括数据、指针和两种种不同类型的构造函数。 struct ListNode { int val; //存储数据 ListNode *next; //next指针 ListNode() : val(0)

c++链表的创建与节点操作_robot_code的博客-爱代码爱编程

c++单向链表 节点 //创建结点 struct node { int data; node* next; }; 1.打印链表 //打印链表信息 void display_list(node * head)

c语言创建链表_math-l的博客-爱代码爱编程

        C语言中使用数组时系统分配的空间是连续的,当数组所需要空间较大时,会不可避免的发生内存连续空间不够的情况,在自己调试时也许不会出现这种问题,但是当换一台设备时有可能使程序运行不了,使用链表则会有效的解决这种问题。         链表储存数据是以结点为单位的,每一个结点都会储存一条数据,且结点与结点之间不总是连续的,所以除非内存没有多余空

c语言之创建链表_码上有钱啊的博客-爱代码爱编程

自己琢磨着思考了一下书上的单链表的创建案例,记录一下自己的理解 代码如下: #include<stdio.h> #include<stdlib.h> struct Student{ char cName[20]; int age; struct Student* pNext; }; /*节点数量*/ i