在書上看到過這樣一句話:要想成為一名真正的程式設計師,資料結構是必備的基礎知識。本人在學習嵌入式時需要使用到c語言,一想到剛開始接觸程式語言時的頭大,不知所云,到後來的喜歡,越發讓自己收穫了很多。故在此開乙個新的專欄通過c/c++來實現一些簡單的資料結構。
順序表分為兩種,一種為靜態順序表,一種為動態順序表。在計算機內部儲存單元開闢一段連續的儲存空間來儲存整張線性表,這種儲存結構就為順序儲存結構,這種結構下的線性表稱為順序表。
靜態順序表和動態順序表的區分在於它們的定義方式不同。那如何定義一張靜態順序表呢?其實非常的簡單,就和定義乙個陣列類似。
對靜態順序表的操作也就是向某個位置插入元素和刪除元素。下面來看**吧。
#include
//sqlist:要插入元素的順序表
//len: 順序表存有元素的個數
// i:插入的位置
// temp:要插入的元素
void
insertslist
(int sqlist,
int* len,
int i,
int temp)
//插入元素函式,主函式呼叫
else
if(i >
0&& i <=
*len)
sqlist[i -1]
= temp;
}else
*len =
*len +1;
}//sqlist:要插入元素的順序表
//len: 順序表存有元素的個數
// i:刪除元素的位置
void
dellist
(int sqlist,
int* len,
int i)
//刪除元素函式,主函式呼叫
else
}*len =
*len -1;
}//主函式
intmain()
printf
("please input the inserted number a:");
//向順序表輸入要插入元素
scanf_s
("%d"
,&temp)
;printf
("please input the location of the inserted number:");
//向順序表輸入要插入元素的位置
scanf_s
("%d"
,&location)
;insertslist
(sqlist,
&count, location, temp)
;//主函式呼叫插入元素函式
for(i =
0; i < count; i++
)//列印順序表插入元素後的所有元素
printf
("\n");
printf
("please input the location of the deleted number:");
//向順序表輸入要刪除元素的位置
scanf_s
("%d"
,&location)
;dellist
(sqlist,
&count, location)
;//主函式呼叫刪除元素函式
for(i =
0; i < count; i++
)//列印順序表插入元素後的所有元素
printf
("\n");
}
靜態順序表
在書上看到的,學習學習。題目 建立乙個靜態的順序表存放整數,大小為10,完成以下操作。1 輸入6個整數,列印出順序表中的內容,並顯示表中的剩餘的空間個數。2 在順序表中的第3個位置插入元素0,列印出順序表中的內容,並顯示表中剩餘的空間個數。3 再試圖插入表中第11個位置整數0,程式提示超出範圍。4 ...
靜態順序表
最近在學習資料結構的單鏈表部分,於是寫了乙個靜態順序表做練習。實現了對其初始化 新增 更改 刪除等功能的實現。seqlist.h pragma once define seq list ifdef seq list include include include define maxsize 100...
靜態順序表
順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。include stdio.h include stdlib.h elemtyp...