⑴ 按序號刪除
刪除單鏈表中的第i個結點。
為了刪除第i個結點ai,必須找到結點的儲存位址。該儲存位址是在其直接前趨結點ai-1的next域中,因此,必須首先找到ai-1的儲存位置p,然後令p–>next指向ai的直接後繼結點,即把ai從鏈上摘下。最後釋放結點ai的空間,將其歸還給「儲存池」。
設單鏈表長度為n,則刪去第i個結點僅當1≦i≦n時是合法的。則當i=n+1時,雖然被刪結點不存在,但其前趨結點卻存在,是終端結點。故判斷條件之一是p–>next!=null。顯然此演算法的時間複雜度也是o(n)。
void delete_linklist(lnode *l, int i)
/*刪除以l為頭結點的單鏈表中的第i個結點 */
//找到前置節點
if (j!=i)
printf(「i太大或i為0!!\n 」);
else
}
status init_stack(void)
//初始化
壓棧(元素進棧)
status push(sqstack s , elemtype e)
*s.top=e; s.top++ ; /* 棧頂指標加1,e成為新的棧頂 */
return ok;
資料結構彙總
棧 stack 佇列 queue 鍊錶佇列 樹 tree 圖 graph 集合 set 鍵值對 map 參考書籍 在接下來的日子裡會不定期整理一些資料結構的資訊。在這裡彙總。持續更新中 陣列是將資料連續儲存於記憶體的物理資料結構 陣列是將資料不連續儲存於記憶體的物理資料結構 迴圈鍊錶就是首尾相接的鍊...
資料結構彙總
乙個100行的 除錯都可能會讓程式設計師遇到很多挫折,所以,面對挫折,我們永遠不能低頭。以下是我在自學資料結構這門課程的簡單 筆記,記錄的很是匆忙,等空閒下來再做深入的標準注釋補充 get技能 1 掌握常見的資料結構code 2 c語言標頭檔案和原始檔的編寫 3 掌握 編寫規範 未來計畫 1 重構測...
資料結構錯題彙總
3 通常要求同一邏輯結構中的所有資料元素具有相同的特性,這意味著 a 資料具有同一特點 b 不僅資料元素所包含的資料項的個數要相同,而且對應資料項的型別要一致 c 每個資料元素都一樣 d 資料元素所包含的資料項的個數要相等 答案 b 6 以下資料結構中,是非線性資料結構 a 樹 b 字串 c 佇列 ...