6 2有序順序表的插入(函式題)

2021-09-29 13:30:26 字數 1862 閱讀 3898

6-2有序順序表的插入(函式題)

本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert_sortedsq(sqlist &l, elemtype e)用於向順序表中按遞增的順序插入乙個資料。 比如:原資料有:2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。 要考慮擴容的問題。

函式介面定義:

status listinsert_sortedsq

(sqlist &l, elemtype e)

;

裁判測試程式樣例:

//庫函式標頭檔案包含

#include

#include

#include

//函式狀態碼定義

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

typedef

int status;

//順序表的儲存結構定義

#define list_init_size 100

#define listincrement 10

typedef

int elemtype;

//假設線性表中的元素均為整型

typedef

struct

sqlist;

//順序表型別定義

//函式宣告

status listinsert_sortedsq

(sqlist &l, elemtype e)

;//順序表初始化函式

status initlist_sq

(sqlist &l)

//賦值

l.length =0;

l.listsize = list_init_size;

return ok;

}//順序表輸出函式

void

listprint_sq

(sqlist l)

else}}

intmain()

listprint_sq

(l);

return0;

}/* 請在這裡填寫答案 */

輸入格式:第一行輸入接下來要插入的數字的個數 第二行輸入數字 輸出格式: 輸出插入之後的數字

輸入樣例:

523

984

輸出樣例:

234

89

status listinsert_sortedsq

(sqlist &l, elemtype e)

//判斷鍊錶是否合法並且分配儲存空間

int pos=-1

;for

(int i=

0; iif(pos ==-1

)//pos=-1即要插入的數比所有數都大,插在尾部

else

//e找到了合適的插入位置,先倒序將插入位置後的每一位往後移一位

l.elem[pos]

=e;//插入e

} l.length++

;//增加鍊錶長度,因為插入了乙個元素,所以+1

return ok;

}

6 2 有序順序表的插入

本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。要考慮擴容的問題。stat...

PTA 6 2 有序順序表的插入

本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。要考慮擴容的問題。stat...

6 2 有序順序表的插入(10 分)

6 2 有序順序表的插入 10 分 本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2...