2019考王道資料結構順序表習題

2021-09-26 13:58:30 字數 1625 閱讀 1812

//個人粗糙整理,由於不斷除錯,**略顯粗糙,請見諒。

#include

#include

#define maxsize 50

typedef int elemtype;

typedef struct //定義順序表的儲存型別

sqlist;

bool del_min(sqlist &q,elemtype e)

}q.length=k;

}void del_s_t_1(sqlist &q,elemtype s,elemtype t)

}q.length=k;

}void del_rep(sqlist &q)

return o;

}void reverse1(sqlist &q,int l,int r)

//找到x且不是最後乙個

if(q.data[mid]==x&&mid!=q.length-1)

//沒找到,因為序列遞增有序,則插入

if(low>high)

return ;

}0 基本類似第八題,兩部分翻轉,整個翻轉

void converse(sqlist &q,int p,int n)

/*3個reverse1函式的時間複雜度分別為o(p/2)、o((n-p)/2)、

o(n/2),所以時間複雜度為o(n/2)。空間複雜度為o(1)。

*/1 兩個等長序列

int m_search(sqlist &q,sqlist &p)//時間複雜度類似二分,o(log2n),空間複雜度:o(1)

2int majority(sqlist &q)

}if(count>0)//時間複雜度o(n),空間複雜度o(1)

3/*空間換時間,標記陣列a對應1~n的正整數,陣列a與給定序列比較,

序列**現小於0或者大於長度的數,1~n**現空缺,第乙個未被

標記的數即所求正整數。

*/int findmin(sqlist &q),11};

sqlist o=,4};

sqlist p=,4};

sqlist a=,5};

elemtype e=0;

for(int i = 0 ;i < q.length; i++)

printf("\n");

/*del_min(q,e);

printf("%d",e);*/

//reverse(q);

//del_x(q,3);

//del_s_t(q,1,3);

//del_s_t_1(q,1,3);

//del_rep(q);

//merge(q,p);

//exchange(q,5,6);

//search_x(p,2);

//search_x(p,4);

//converse(q,3,11);

//printf("%d",m_search(o,p));

//printf("%d",majority(a));

printf("%d",findmin(q));

printf("\n");

for(int i = 0 ;i < q.length; i++)

}

408王道資料結構(順序表)1 1

從順序表中刪除具有最小值的元素 假設唯一 並由函式返回被刪元素的值。空出的位置由最後乙個元素填補,若順序表為空則顯示出錯資訊並退出執行。從順序表中刪除具有最小值的元素 假設唯一 並由函式返回被刪元素的值。空出的位置由最後乙個元素填補,若順序表為空則顯示出錯資訊並退出執行。include using ...

408王道資料結構(順序表)1 4

從有序順序表中刪除其值在給定值s與t之間 要求s 從有序順序表中刪除其值在給定值s與t之間 要求s include using namespace std define elemtype int define initsize 50 define maxsize 50 typedef struct ...

408王道資料結構(順序表)1 5

從順序表中刪除其值在給定值s與t之間 包含s和t,要求s 從順序表中刪除其值在給定值s與t之間 包含s和t,要求s include using namespace std define elemtype int define initsize 50 define maxsize 50 typedef...