關於21王道資料結構課後程式碼題的總結(更新中)
阿新 • • 發佈:2020-09-15
2.2.3 P19
1.從順序表中刪除具有最小值的元素(假設唯一)並由函式返回被刪除元素的值。空出的位置由最後一個元素填補,若順序表為空則顯示出錯資訊並推出執行。
Bool DeleminElem(Sqlist &L.Elemtype *e){ //先判斷合法性 if(L.length==0) return false; //宣告用來存放最小資料的變數 e=L.data[0]; int k=0; //找到最小值 for(int i=0;i<L.length;i++){ if(L.data[i]<e) e=L.data[i]; k=i; } //填補 L.data[k]=L.data[length-1]; L.length--; return true; }
2.設計一個高效演算法,將順序表L的所有元素逆置,要求演算法的空間複雜度為O(1)。
Bool ExchangeElem(Sqlist &L){ int c;
//典型的交換演算法 for(int i = 0;i<L.length/2;i++){ c=L.data[i]; L.data[i]=L.data[length-1-i]; L.[length-1-i]=c; } return true; }