13 第12章:数据结构——组织数据的艺术
🗂
组织数据的艺术
数据结构就是教你怎么把数据摆放得整整齐齐,方便查找和使用!
🗂 生活比喻:整理书包
你把书按科目分开放,
想用哪本一下子找到!
如果全塞在一起,
找一本书要翻半天…
想用哪本一下子找到!
如果全塞在一起,
找一本书要翻半天…
💻 C语言的数据结构
数组:一排连续的柜子
链表:一串连起来的珠子
栈:叠盘子,只能从顶拿
队列:排队,先来的先走
选对结构,程序快好几倍!
链表:一串连起来的珠子
栈:叠盘子,只能从顶拿
队列:排队,先来的先走
选对结构,程序快好几倍!
13.1 📋 数组——最简单的结构
📋 数组 = 一排连续的柜子
int scores[5]; // 5个连续的"格子"
scores[0]
scores[1]
scores[2]
scores[3]
scores[4]
下标从 0 开始!scores[0] 是第一个。
13.2 🔗 链表——用指针连起来的珠子
🔗 链表 —— 每个珠子记住"下一个是谁"
结点1
data
data
→
结点2
data
data
→
结点3
data
data
→
NULL
结束
结束
每个结点有两部分:数据 和 下一个结点的地址。
就像寻宝游戏——每张纸条写"下一个线索在哪里"!
就像寻宝游戏——每张纸条写"下一个线索在哪里"!
13.3 📚 栈与队列
📚 栈(Stack)—— 叠盘子
后进先出(LIFO)
只能从顶部放和拿。
就像一叠盘子!
只能从顶部放和拿。
就像一叠盘子!
push(x) // 放盘子
pop() // 拿盘子
pop() // 拿盘子
🚶 队列(Queue)—— 排队
先进先出(FIFO)
先来的先走,
就像排队买票!
先来的先走,
就像排队买票!
enqueue(x) // 排队
dequeue() // 出队
dequeue() // 出队
13.4 🎮 互动:栈动画演示
🎮 栈操作演示
栈是空的,点击"入栈"添加元素…
13.5 ✏️ 随堂小练习
🌟 试试看!
1. 数组的下标是从几开始的?
2. 栈的特点是?
3. 链表中的每个结点包含几部分?
13.6 📝 本章总结
✅ 你已经学会了:
• 数据结构是组织数据的方式 🗂
• 数组:连续存储,下标从0开始
• 链表:用指针串起来,方便插入删除
• 栈:后进先出(LIFO),像叠盘子
• 队列:先进先出(FIFO),像排队
• 数组:连续存储,下标从0开始
• 链表:用指针串起来,方便插入删除
• 栈:后进先出(LIFO),像叠盘子
• 队列:先进先出(FIFO),像排队
💡 下一章预告:学会了数据结构,接下来学"文件操作"——让程序把数据存到硬盘,下次打开还在!
```