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...