原创 將兩個有序表合併成一個新的有序表

問題描述:將兩個有序(升序)表合併成一個新的有序表,並由函數返回結果順序表。分析:首先,按順序不斷取下兩個順序表表頭較小的節點存入新的順序表中。然後,看哪個表還有剩餘,將剩下的部分加到新的順序表後面。//code 1 void merge

原创 從有序表中刪除所有其值重複的元素

問題描述:從有序順序表中刪除所有其值重複的元素,使表中所有元素的值均不相同。方法一:用k記錄順序表a中不重複的元素的個數,用temp記錄不重複的元素。在遍歷過程中讓每個元素與temp比較,若該元素與temp不同則統計k的個數並將該不重複的

原创 在有序線性表中查找x元素

問題描述:線性表(a1, a2, ..., an)中元素遞增有序且按順序存儲於計算機內。要求設計以算法完成用最少時間在表中查找數值爲x的元素,若找到將其與後繼元素位置相交換,若找不到將其插入表中並使表中元素仍遞增有序。 分析:順序存儲的線

原创 將一維數組A[m+n]中的兩個線性表位置互換

問題描述:已知在一維數組A[m+n]中一次存放着兩個線性表(a1, a2, ..., am)和(b1, b2, ..., bn),試寫一個函數,將數組中兩個順序表的位置互換,即將(b1, b2, ..., bn)放在(a1, a2, ..

原创 刪除線性表中所有值爲x的元素

問題描述:長度爲n的順序表,編寫算法,該算法刪除線性表中所有值爲x的元素。要求:時間複雜度爲O(n),空間複雜度爲O(1)方法一:用k記錄順序表a中不等於x的元素的個數(即需要保存的元素個數),邊掃描a邊統計k,並將不等於x的元素向前放置