/*傳入結構體變數的位址和動態陣列的長度,
初始化結構體變數str,
str的有效長度賦值為0,str的總長度賦值為len,
str的base指向malloc動態分配的陣列
*/void init_list(struct student* str,int len)
str->cent=0;
str->length=len;}/*
傳入結構體變數的位址,
用for迴圈遍歷動態陣列
*/void show_list(struct student* str)
for(int i=0;icent;i++) //用for迴圈遍歷動態陣列
putchar('\n');
return;}/*
傳入結構體變數的位址、插入的位置和插入的值,
先找到插入的位置pos,將pos後的元素都後退一次,
將val賦值給陣列下標為pos-1的位置
然後cent++
*/bool insert_list(struct student* str,int pos,int val)
if(pos<1||pos>str->cent) //判斷插入的位置是否合適,如果不合適,則返回false
for(int i=str->cent-1;i>=pos-1;i--) //利用for迴圈,將下表為pos-1後的元素都後移乙個位置
str->base[pos-1]=val; //將val的值賦值給下標為pos-1的位置
str->cent++;
return true;}/*
傳入結構體變數的位址、需要刪除的位置和val的位址,
先找到需要刪除的位置pos,將下標為pos-1的值賦值給*val,
然後將pos後的元素都前進一次,
最後cent--
*/bool delete_list(struct student* str,int pos,int* val)
if(pos<1||pos>str->cent) //判斷刪除的位置是否合適,如果不合適,則返回false
*val=str->base[pos-1]; //將下標為pos-1的值存放在*val中
for(int i=pos;icent;i++) //用for迴圈,將下標為pos-1後的元素都前進一次
資料結構 線性表之陣列
什麼叫陣列 陣列 array 是一種線性表資料結構。它是一組連續的記憶體空間,來儲存一組具有相同型別的資料。什麼線性表跟非線性表 線性表 通俗一點就是資料像一條線一樣排成的結構,線性表上的資料只有前後兩個方向,另外像鍊錶,佇列,棧等也是線性表的資料結構。非線性表 像二叉樹,圖,堆等,資料之間不只是前...
資料結構之線性結構
資料結構學習虛函式,幾個知識點 1 抽象類函式本身不能直接例項化,需要其子類例項化虛函式,才能例項化。繼承抽象類的子類必須重寫虛函式,具體函式可實現,也可不實現。2 const修飾符,若修飾函式,則函式引數不能被改變。若修飾成員變數,則成員變數在使用過程中不被改變。修飾傳入引數,則避免引數被改變。3...
資料結構線性結構之連續儲存 陣列
鍊錶是線性資料結構中的一種,線性資料結構是指用接點關聯起來 它包含連續存入 陣列和離散儲存 鍊錶 最常用的應用如棧 佇列 陣列 元素型別相同,大小相等 指儲存的型別相等 php lua 和c陣列的比較 1 定義乙個陣列 php arr array 可以不指定大小直接指定,而且後續可以直接新增 lua...