//個人粗糙整理,由於不斷除錯,**略顯粗糙,請見諒。#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...