有序陣列的插入

2021-09-13 13:55:20 字數 987 閱讀 1813

習題1.9 有序陣列的插入 (20 分)

本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序。

函式介面定義:

bool insert( list l, elementtype x );

其中list結構定義如下:

typedef int position;

typedef struct lnode list;

struct lnode ;

l是使用者傳入的乙個線性表,其中elementtype元素可以通過》、==、《進行比較,並且題目保證傳入的資料是遞減有序的。函式insert要將x插入data中合適的位置,以保持結果依然有序(注意:元素從下標0開始儲存)。但如果x已經在data中了,就不要插入,返回失敗的標記false;如果插入成功,則返回true。另外,因為data中最多只能存maxsize個元素,所以如果插入新元素之前已經滿了,也不要插入,而是返回失敗的標記false。

裁判測試程式樣例:

#include

#include

#define maxsize 10

typedef enum bool;

typedef int elementtype;

typedef int position;

typedef struct lnode list;

struct lnode ;

list readinput(); /* 裁判實現,細節不表。元素從下標0開始儲存 /

void printlist( list l ); / 裁判實現,細節不表 */

bool insert( list l, elementtype x );

int main()

l->data[i]=x;

l->last=l->last+1;//不要忘記長度加一

break;

}else if(i==l->last&&l->data[i]>x)

}return true;

有序陣列的插入

本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序 bool insert list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用...

有序陣列的插入

1.9 有序陣列的插入 20分 本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序。函式介面定義 bool insert list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode...

有序陣列的插入

本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序。bool insert list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用...