13  第12章:数据结构——组织数据的艺术

🗂

组织数据的艺术

数据结构就是教你怎么把数据摆放得整整齐齐,方便查找和使用!

## 🗂 什么是数据结构? ```{=html}
🗂 生活比喻:整理书包
你把书按科目分开放,
想用哪本一下子找到

如果全塞在一起,
找一本书要翻半天
💻 C语言的数据结构
数组:一排连续的柜子
链表:一串连起来的珠子
:叠盘子,只能从顶拿
队列:排队,先来的先走
选对结构,程序快好几倍

13.1 📋 数组——最简单的结构

📋 数组 = 一排连续的柜子
int scores[5]; // 5个连续的"格子"
scores[0]
scores[1]
scores[2]
scores[3]
scores[4]
下标从 0 开始!scores[0] 是第一个。

13.2 🔗 链表——用指针连起来的珠子

🔗 链表 —— 每个珠子记住"下一个是谁"
结点1
data
结点2
data
结点3
data
NULL
结束
每个结点有两部分:数据下一个结点的地址
就像寻宝游戏——每张纸条写"下一个线索在哪里"!

13.3 📚 栈与队列

📚 栈(Stack)—— 叠盘子
后进先出(LIFO)
只能从顶部放和拿。
就像一叠盘子!
push(x) // 放盘子
pop() // 拿盘子
🚶 队列(Queue)—— 排队
先进先出(FIFO)
先来的先走,
就像排队买票!
enqueue(x) // 排队
dequeue() // 出队

13.4 🎮 互动:栈动画演示

🎮 栈操作演示
栈是空的,点击"入栈"添加元素…

13.5 ✏️ 随堂小练习

🌟 试试看!
1. 数组的下标是从几开始的?
2. 栈的特点是?
3. 链表中的每个结点包含几部分?

13.6 📝 本章总结

✅ 你已经学会了:
• 数据结构是组织数据的方式 🗂
数组:连续存储,下标从0开始
链表:用指针串起来,方便插入删除
:后进先出(LIFO),像叠盘子
队列:先进先出(FIFO),像排队
💡 下一章预告:学会了数据结构,接下来学"文件操作"——让程序把数据存到硬盘,下次打开还在!

```