下面是使用C語(yǔ)言實(shí)現(xiàn)順序表基本操作的示例代碼:
```c#include
(相關(guān)資料圖)
#define MAX_SIZE 100
typedef struct { int data[MAX_SIZE]; int length;} SeqList;
void initList(SeqList* list) { list->length = 0;}
void insert(SeqList* list, int position, int item) { if (position < 0 || position > list->length || list->length == MAX_SIZE) { printf("Invalid position or list is full\n"); return; }
for (int i = list->length - 1; i >= position; i--) { list->data[i + 1] = list->data[i]; }
list->data[position] = item; list->length++;}
void delete(SeqList* list, int position) { if (position < 0 || position >= list->length) { printf("Invalid position\n"); return; }
for (int i = position; i < list->length - 1; i++) { list->data[i] = list->data[i + 1]; }
list->length--;}
int search(SeqList* list, int key) { for (int i = 0; i < list->length; i++) { if (list->data[i] == key) { return i; } }
return -1;}
void display(SeqList* list) { printf("List elements: "); for (int i = 0; i < list->length; i++) { printf("%d ", list->data[i]); } printf("\n");}
int main() { SeqList list; int choice, item, position, key, index;
initList(&list);
while (1) { printf("1. Insert\n"); printf("2. Delete\n"); printf("3. Search\n"); printf("4. Display\n"); printf("5. Exit\n");
printf("Enter your choice: "); scanf("%d", &choice);
switch (choice) { case 1: printf("Enter the element to be inserted: "); scanf("%d", &item); printf("Enter the position: "); scanf("%d", &position); insert(&list, position, item); break; case 2: printf("Enter the position: "); scanf("%d", &position); delete(&list, position); break; case 3: printf("Enter the key to search: "); scanf("%d", &key); index = search(&list, key); if (index != -1) { printf("Element found at position: %d\n", index); } else { printf("Element not found\n"); } break; case 4: display(&list); break; case 5: exit(0); default: printf("Invalid choice\n"); break; } }
return 0;}```
這段代碼實(shí)現(xiàn)了順序表的基本操作,包括初始化順序表、插入元素、刪除元素、查找元素和顯示順序表內(nèi)容。在`main`函數(shù)中,通過(guò)一個(gè)循環(huán)菜單,用戶可以選擇不同的操作。根據(jù)用戶選擇的操作,調(diào)用相應(yīng)的函數(shù)進(jìn)行處理。
順序表的結(jié)構(gòu)體定義中,`data`數(shù)組用于存儲(chǔ)元素,`length`記錄當(dāng)前順序表的長(zhǎng)度。`initList`函數(shù)用于初始化順序表,`insert`函數(shù)用于在指定位置插入元素,`delete`函數(shù)用于刪除指定位置的元素,`search`函數(shù)用于查找指定元素的位置,`display`函數(shù)用于打印順序表的內(nèi)容。
可以根據(jù)需要修改和擴(kuò)展這段代碼,以滿足特定的順序表操作要求。
關(guān)鍵詞:
凡注有"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"或電頭為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的稿件,均為實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來(lái)源為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活",并保留"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的電頭。
熱點(diǎn)
- 佛家打坐的好處和壞處_佛家打坐的正確方法圖 前沿資訊
- 播報(bào):第十屆全球事實(shí)核查大會(huì)在首爾閉幕,動(dòng)員反擊虛假信息的集體力量
- 全球微速訊:夏天真的好適合穿鮮艷的顏色
- DNF風(fēng)暴幽城名望一直沒(méi)有變
- 對(duì)于事實(shí)婚姻的認(rèn)定
- 描寫(xiě)廬山的古詩(shī)有哪些? 描寫(xiě)“廬山”的古詩(shī)有哪些?|世界快訊
- 廣州新華學(xué)院藝術(shù)類(lèi)專(zhuān)業(yè)有哪些?
- ?津興鐵路實(shí)現(xiàn)正線貫通!為年內(nèi)開(kāi)通運(yùn)營(yíng)奠定了基礎(chǔ)
- 世界熱頭條丨長(zhǎng)江有色:3日鎳價(jià)小幅上漲 供應(yīng)充盈而現(xiàn)貨畏高成交稀少
- 鄧一杰:多單調(diào)倉(cāng)!_每日聚焦
頭條
- 警方通報(bào)人大學(xué)生信息泄露事件 天天快報(bào)
- 信仰的光丨卓嘎、央宗姐妹:守好祖國(guó)的每一寸土地
- 大學(xué)錄取通知書(shū)里,藏著這些中國(guó)式浪漫
- 天天熱點(diǎn)!動(dòng)車(chē)組駛上青藏線——青藏鐵路西格段動(dòng)車(chē)組投入運(yùn)營(yíng)首日見(jiàn)聞
- 高考志愿填報(bào),“提前出發(fā)”才能少走彎路
- 環(huán)球視點(diǎn)!“蓉火”回蓉!成都大運(yùn)會(huì)火炬?zhèn)鬟f成都站啟動(dòng)
- 中非經(jīng)貿(mào)博覽會(huì):留學(xué)生志愿者帶你看非洲_全球快看點(diǎn)
- 天天速遞!聯(lián)合國(guó)駐華協(xié)調(diào)員:內(nèi)蒙古造林成果豐碩 中國(guó)是應(yīng)對(duì)氣變重要行動(dòng)者
- 每日快看:屈冬玉連任聯(lián)合國(guó)糧農(nóng)組織總干事
- 葉麂、壽帶等野生動(dòng)物列入新“三有”名錄 野豬等調(diào)出