【算法学习笔记】07.数据结构基础 链表 初步练习
生活随笔
收集整理的這篇文章主要介紹了
【算法学习笔记】07.数据结构基础 链表 初步练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫這篇文章時離學完列表已經很久了 最近真的是很懶。
數據結構這部分在劉汝佳的白書上的部分太少了,我一點要找個時間好好的看一下程杰的大話。
鏈表的優點是它強調的是相關元素之間的相對順序,左和右。其實可以是個環狀結構。
用left 和 right兩個數組分別記錄某個元素相應左右的值,再用link函數進行元素之間的重新排序,抽取和添加。
下面以一個小球移動的題為例子來練習鏈表。
#include <stdio.h>int left[10]={0,1,2,3,4},right[10]={2,3,4,5,0}; //為了方便,將下標為1的認為是1號小球的屬性 void link(int X,int Y)//link函數是進行連接的 {right[X]=Y;left[Y]=X; } int main() {char type = 'L';int x=2,y=4;//將2移到4的左或者右link(left[2],right[2]);//把2從序列中取出 稍后在插入 取出的過程其實就是連接1,3 使 1.r=3 3.l=1 if(type=='L'){//把2插入到3和4中間link(left[y],x);//3.r=2;2.l=3 link(x,y);//2.r=4 4.l=2}else{//把2插入到4和5之間 int t = right[y];//如果不用t來做臨時存儲變量 則要十分慎重下面兩行代碼的順序 因為會相互影響 上面的就是例子link(y,x); link(x,t);//此時t仍然是最初的right[y] } //鏈表的操作里,如果使用link函數 并附加參數時一定要考慮動態效應,否則會導致bug //排除此困擾可以用臨時變量的方法來解決 }以上就是鏈表的初步應用
轉載于:https://www.cnblogs.com/yuchenlin/p/4379267.html
總結
以上是生活随笔為你收集整理的【算法学习笔记】07.数据结构基础 链表 初步练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入探索.NET框架内部了解CLR如何创
- 下一篇: 基于RTMP的实时流媒体的QoE分析