順序表的建立及操作

2021-07-06 03:27:13 字數 1110 閱讀 5706

1、線性表結構體的演算法:

#define maxsize maxlen           //maxlen表示線性表可能的最大資料元素數目

typedef int elemtype;          //elemtype表示資料元素型別,此處定義為int

typedef struct   

sqlist;                  //sqlist是資料型別

2、求表長:

int lenth(sqlist *l)

int main()

3、插入

演算法思路:

(1)判斷線性表的儲存空間是否已滿,若已滿,則進行「溢位」處理

(2)檢查i值是否超出所允許的範圍(1<=i<=(n+1)),若超出,則進行「超出」處理

(3)將線性表的第i個元素和它後面的所有元素均往後移乙個位置

(4)將新的資料元素寫入到下標為i-1的位置上

(5)線性表的長度增加1

int intsert(sqlist *l, int i, elemtype x)   //l為指標變數,i為插入位置(個數),x為插入的值

else

if ((i<1) || (i>l->len + 1))           //判斷插入位置是否超出允許範圍

else

}4、刪除

演算法思路:

(1)檢查i值是否超出所允許的範圍(1<=i<=(n+1)),若超出,則進行「超出」處理

(2)把第i個元素賦給y

(3)把第i個元素後面的位置向前移動一位

(4)線性表長度減1

int dele(sqlist *l, int i, elemtype *y)   //l為指標變數,i為刪除位置(個數),*y為刪除的值

else

}5、查詢演算法

int search(sqlist *l, int x)

順序表的建立,實現及操作

include include include include include define max 1000 5 using namespace std typedef struct sqlist 定義線性表 void initlist sqlist l 初始化線性表 void destroyli...

順序表建立插入刪除操作及實現

學資料結構時在實現順序表建立插入刪除操作中,書中提供了偽 但是用c實現時在建立相應函式時,不能用 呼叫表的另乙個名字。所以應該這樣實現 include include define list init size 100 define listincrement 10 typedef struct 結...

順序表的建立及遍歷

讀入n值及n個整數,建立順序表並遍歷輸出。輸入格式 讀入n及n個整數 輸出格式 輸出n個整數,以空格分隔 最後乙個數的後面沒有空格 輸入樣例 4 3 1020 78輸出樣例 310 2078 include stdio.h include stdlib.h include algorithm usi...