打印
[软件资料]

指针链表的案例

[复制链接]
148|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
中国龙芯CDX|  楼主 | 2025-6-24 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

链表——指针的终极大招
这个是指针的杀手锏应用,数据结构界的明星:

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *next;// 指向下一个节点的指针
};

void printList(struct Node *head) {
    struct Node *current = head;
    printf("链表内容:");
    while(current != NULL) {
        printf("%d -> ", current->data);
        current = current->next;
    }
    printf("NULL\n");
}

int main() {
    // 创建三个节点
    struct Node *first = (struct Node*)malloc(sizeof(struct Node));
    struct Node *second = (struct Node*)malloc(sizeof(struct Node));
    struct Node *third = (struct Node*)malloc(sizeof(struct Node));

    // 填充数据并连接
    first->data = 10;
    first->next = second;

    second->data = 20;
    second->next = third;

    third->data = 30;
    third->next = NULL;

    printList(first);  // 输出:10 -> 20 -> 30 -> NULL

    // 释放内存
    free(first);
    free(second);
    free(third);

    return0;
}

链表就像火车,每节车厢都知道下一节在哪里!

使用特权

评论回复
沙发
xiaoqizi| | 2025-8-5 20:18 | 只看该作者
链表中的每个数据节点包含两个部分,即数据域和指针域

使用特权

评论回复
板凳
木木guainv| | 2025-8-5 21:59 | 只看该作者
链表有一个“头指针”变量,它存放着第一个节点的地址,作为访问链表的起点。最后一个节点称为尾节点,其指针域通常设置为NULL,表示链表的结束

使用特权

评论回复
地板
Jiangxiaopi| | 2025-8-6 07:24 | 只看该作者
每个节点只有一个指针域,指向其后继节点。只能从链表头部开始顺序遍历到尾部

使用特权

评论回复
5
荣陶陶| | 2025-8-6 09:07 | 只看该作者
每个节点有两个指针域,一个指向前驱节点,另一个指向后继节点。支持双向遍历,某些操作可能更高效

使用特权

评论回复
6
Zhiniaocun| | 2025-8-6 10:50 | 只看该作者
一种特殊的链表结构,其中最后一个节点的指针域指向头节点,形成环形结构。可以是单向或双向的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

334

主题

2507

帖子

4

粉丝