順序表的刪除 巧用基礎演算法查詢(1)

2021-10-24 09:24:27 字數 381 閱讀 1930

已知長度為n的線性表a採用順序儲存結構,請寫一時間複雜度為o(n),空間複雜度為o(1)的演算法,該演算法刪除線性表中所有值為item的資料元素。(題目未要求元素間相對順序不變)

分析:若使用普通刪除演算法則其時間複雜度為o(n^2)。設定兩個指標i,j分別指向小下標端和大下標段,其相向移動。i要尋找等於item的元素,j要尋找不等於item的元素。然後將j所指向的元素覆蓋i所指向的元素。i與j繼續相向移動,當i>j時跳出迴圈。

**實現:

int i=0,j=curlength-1;

while(i<=j)

curlength=i;

順序表的查詢 刪除 插入

遇到的問題 malloc realloc的用法 realloc 型別 realloc 原來的記憶體位址,新的大小 型別 指標的問題 要深刻理解指標,指標也是乙個變數,在函式傳遞引數的過程中,作為引數來講,傳遞的也是值。這個值就是指標本身的內容,即指標指向的位址。而 不是傳的指標。所以指標作為函式形參...

順序表查詢刪除遍歷

輸入格式 第一行輸入乙個正整數 m 1 m 100 代表一共有 m 個操作。接下來輸入 m 行,每行首先輸入乙個整數 t,分別代表以下操作 t 1,代表插入操作,輸入兩個整數 a 和 b 0 a,b 100 表示在 a 的位置上擦入元素 b,如果插入成功輸出success,否則輸出failed。t ...

7 查詢 1 順序表的查詢

簡單順序查詢,有序表的二分查詢,索引順序表的查詢 1 include iostream 2 include iomanip 3 include time.h 4 include stdlib.h 5 using namespace std 67 define max 2089 10 簡單順序查詢 1...