C 實現線性表相關演算法

2021-10-09 09:21:14 字數 970 閱讀 8933

//1.逆轉順序表中的所有元素

void reverse(int a[ ],int n)

else

}if(l->data == x)

}//3.刪除不帶頭結點單鏈表l中所有值為x的結點(遞迴)

void del_x(linklist &l,elemtype x)

else

}//4.刪除帶頭結點單鏈表l中所有值為x的結點

void del_x(linklist &l,elemtype x)

else

}}//注:本演算法是在無序單鏈表中刪除滿足某種

//條件的所有結點; 如:若是要刪除介於 max

//和 min 之間的所有結點, 只需將 if 語句改為

//if(p->data>min&&p->datanext;

q->next = r;

}l = q;

}//帶頭節點

linklist reverse(linklist l)

l->next = p;

return l;

}//6. 複製線性鍊錶 (遞迴 )

linklist copy(linklist list1)

}//7. 將兩個按值有序排列的非空線性表合併為乙個按值有序的線性表

linklist mergelist(linklist l1,linklist l2)

else

while(p!=null&&q!=null)

else

}r->next=p!=null?p:q;

return l3;

}//8. 將兩個按值遞增線性表合併為乙個按值遞減的線性表

void mergelist(linklist &l1,linklist &l2)

else

if(p1)

while(p2)

free(l2);

}}

線性表相關計算

已知乙個線性表 38,25,74,63,52,48 假定採用雜湊函式h key key 7 計算散 列位址,並雜湊儲存在雜湊表a 0.6 中,若採用線性探測方法解決衝突,則在該雜湊表上 進行等概率成功查詢的平均查詢長度為 我們首先必須要知道在建立這個雜湊表時,每個資料儲存時進行了幾次雜湊。這樣就知道...

資料結構 線性表相關

1.佇列 queue 是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表 2.棧 stack 在電腦科學中是限定僅在棧頂進行插入或刪除操作的線性表。3.鍊錶 linked list 是一種常見的基礎資料結構,是一種線性表,是一種物理儲存單元上非連續 非順序的儲存結構。雙向鍊錶也叫雙鏈表 是...

線性表專案1 線性表相關函式1

檔名稱 list.h list.cpp main.cpp writer 徐吉平 完成日期 2015年9月14日 版本號 code block 12.11 問題描述 完成建立 輸出線性表,判斷線性表是否為空表,求長度 某個資料元素值等功能 輸入描述 無 程式輸出 輸出線性表及表的長度,資料搜尋的結果 ...