下面是使用C語言實現順序表基本操作的示例代碼:
```c#include
(相關資料圖)
#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;}```
這段代碼實現了順序表的基本操作,包括初始化順序表、插入元素、刪除元素、查找元素和顯示順序表內容。在`main`函數中,通過一個循環菜單,用戶可以選擇不同的操作。根據用戶選擇的操作,調用相應的函數進行處理。
順序表的結構體定義中,`data`數組用于存儲元素,`length`記錄當前順序表的長度。`initList`函數用于初始化順序表,`insert`函數用于在指定位置插入元素,`delete`函數用于刪除指定位置的元素,`search`函數用于查找指定元素的位置,`display`函數用于打印順序表的內容。
可以根據需要修改和擴展這段代碼,以滿足特定的順序表操作要求。
關鍵詞:
凡注有"實況網-重新發現生活"或電頭為"實況網-重新發現生活"的稿件,均為實況網-重新發現生活獨家版權所有,未經許可不得轉載或鏡像;授權轉載必須注明來源為"實況網-重新發現生活",并保留"實況網-重新發現生活"的電頭。