資料結構的刪除操作

2021-06-17 19:24:15 字數 1680 閱讀 6451

1.順序表的刪除:

bool listdelete(sqlist *&l,int i,elemtype &e) //刪除資料元素

2.單鏈表的刪除:

bool listdelete(linklist *&l,int i,elemtype &e) //刪除資料元素

if (p == null)//未找到第i-1個節點,返回false

return false;

else //找到第i-1個節點*p

}

3.雙鏈表的刪除:

bool listdelete(dlinklist *&l, int i, elemtype &e) //刪除資料元素

if (p == null)//未找到第i-1個結點

return false;

else //找到第i-1個結點*p

}

4.迴圈單鏈表的刪除:

bool listdelete(linklist *&l,int i,elemtype &e) //刪除元素

else //i不為1時

if (p == l) //未找到第i-1個結點

return false;

else //找到第i-1個結點*p}}

else //空表返回false

return false;

}

5.迴圈雙鏈表的刪除:

bool listdelete(dlinklist *&l,int i,elemtype &e) //刪除資料元素

else //i不為1時

if (p == null)//未找到第i-1個結點

return false;

else //找到第i-1個結點*p}}

else //原雙鏈表為空表時

return false;

}

6.順序棧的出棧:

bool pop(sqstack *&s,elemtype &e) //出棧

7.鏈棧的出棧:

bool pop(listack *&s,elemtype &e) //出棧

8.順序佇列的出隊:

bool dequeue(sqqueue *&q, elemtype &e) //出隊

9.鏈佇列的出隊:

bool dequeue(liqueue *&q, elemtype &e) //出隊

10.順序串的刪除:

listring *delstr(listring *s, int i, int j)

for (k = 0; k < j; k++)//讓p沿next跳j個節點

p = p -> next;

while (p != null)//將*p及其後的節點複製到str

r -> next = null;

return str;

}

資料結構 順序表的刪除操作

本題要求實現乙個函式,要求將順序表的第i個元素刪掉,成功刪除返回1,否則返回0 函式介面定義 int listdelete sqlist l,int i 其中sqlist結構定義如下 typedef struct sqlist 裁判測試程式樣例 include include define maxs...

資料結構 堆的刪除

實現在最小堆中刪除給定序號為pos的元素,並由x返回,刪除成功返回true,失敗返回false。注意 刪除後要保持資料結構是最小堆。在最小堆中刪除給定序號為pos的元素,我們可以先刪除該元素後將堆中最後乙個元素補到該位子,然後向下調整為堆,在從該位置向上調整為堆。1 如果堆空返回false 2 x ...

大話資料結構 鍊錶插入刪除操作

刪除l的第i個資料元素,並用e返回其值,l的長度減1.迴圈結束後,p指向第i 1個結點,p next指向第i個結點。如果第i個結點不存在,則p next none,無法刪除第i個結點。status listdelete linklist l,int i,elemtype e if p next no...