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...