線性表的概念:線性表是一種最簡單的線性結構,線性結構是單個數據元素的有序結合
線性結構的基本特征為:
第一,集合中必存在唯一的一個第1元素,
第二,集合中必存在唯一的一個最后元素,
第三,除最后元素外均有唯一的后繼,
第四,除第1元素之外,僅有唯一的前驅,
序偶關系:就是有順序
尖括號帶便兩個數據之間是有順序的,不能進行數據之間的調換的,是序偶關系的,圓括號代表的是兩個之間是一組,沒有順序的
腳標是從1進行的,要注意進行區分
學習線性表要類比類進行比較,類具有成員變量以及成員方法,那么實現功能的是成員函數,也就是說具體的實現還是要靠后面的成員函數進行實現的,前面只是一個定義
我們要知道,ADT的靈活性體現在基本操作上面
數據對象以及數據關系在定義初期就已經確定好了,不可以隨便進行改動,
數據對象,數據關系以及基本操作我們就可以理解成男女朋友之間的關系,對象對象,你就可以理解成表面的關系來進行記憶,一切的現象都是從表面一點一點的進行深入的
我們就要看一下類當中有哪些成員,包括成員函數變量以及成員方法,
其中的取地址為的就是可以對線性表進行修改操作,只有當我們傳遞一個地址的時候,才可以對他進行一次修改數據,方便我們后續對線性表修改,這也是取地址的原因,地址可以方便我們找到此函數
對于地址是靜態分配的線性表,我們不討論線性表的銷毀操作,
我們都知道靜態分配的空間只有當main函數結束的時候,由系統進行回收,而動態分配的內存空間可以在程序執行的過程當中,由free函數進行回收,當線性表為空標的時候,我們的銷毀操作其實就是使線性表不存在,但是并不是真正的清空線性表操作
作用:修改掉原線性表的數據以及狀態,所以我們傳遞一個地址方便我們的主函數對拿到數據之后對數據進行一個處理再使用的操作
結果:銷毀線性表
動態創建內存空間是對于數組進行提出的
在寫代碼之前要對數據進行先定義的,這是code對數據進行處理的嚴格性,是相對于c++6.0來進行說明的,中間是有語法錯誤的
對于。C文件來說所有的內存空間都是在程序執行之前就已經進行分配了,你可以大膽的想像,在你畢業之前你的工作就有人進行安排了,那你是多么的輕松,不能是中間再去找工作,這是部隊的,這樣程序就會出現錯誤,就像是你就會出現毛手毛腳的狀況
main函數定義的變量是全程都有效的,因為main函數結束了,那么整個函數就已經結束了,對于形式參數而言的話,調用的函數一旦執行完畢,那么變量就失去了效果,內存空間就會被釋放掉的
####系統分配的空間以及我們使用函數進行空間的分配有什么不同呢?
動態分配不是從系統當中進行分配的,而是從動態塊中進行的
### 引用型操作的特點:是不修改線性表當中的內容
加工型:是可以修改的
綜上是引用型的數據,實現的是對數據進行查看以及數據的返回調用啥啥的,不進行破壞,就像我們去KTV唱歌一樣的,我們對房間的話筒使用,而不拿走,不破壞,沒有實質性的操作
*********************************
加工型操作:
詳細介紹:
學習數據結構就是在學習積木的積木塊,從小的出發地點開始,就是在學習使用工具,想辦事情就要從小的地方學起來的
放大招:例題
原碼和偽碼的區別:
偽碼更能看出程序員的思路來,而源碼一般都是注重的是細節,是實現