1.問題描述
給出初始資料,實現單鏈表的定義、建立、查詢和刪除。假設單鏈表中的結點計數從1開始。
2.演算法
單鏈表的刪除:給出位置i,刪除第i個結點(1<=i<=l)。
要求定義刪除函式:int deletelist(node *h,int i) //刪除第i個結點成功,返回1;第i個結點不存在,刪除不成功,返回0。其中node是鍊錶結點結構體名,h是煉表頭指標。
每個樣本分2行:
第一行:第乙個數字n表示樣本數目,其後跟n個樣本
第二行:刪除測試次數m 後跟m個刪除位置
第一行:單鏈表建立後,輸出鍊錶中元素個數和單鏈表中的全部資料。
第二行至第m+1行:若刪除指定位置的資料成功,輸出鍊錶中元素個數和單鏈表中的全部資料;若刪除不成功,輸出error。
5 2 4 3 5 7
3 0 2 4
5 2 4 3 5 7
error
4 2 3 5 7
3 2 3 5
**實現:
//
// created by hp on 2018/3/9.
//#include using namespace std;
struct node;
int n;
void createlist(node *head)
}void showlist(node *head)
cout<0&&dn<=n)
count++;
pre=pre->next;
p=p->next;}}
return 0;
}int main()
return 0;
}
單鏈表(帶頭結點)
按照自己的想法和思路寫了一下帶頭結點的單鏈表,並進行了測試,畢竟自己能力有限,可能有的地方沒有測試到,還可能存在一些潛在的錯誤。標頭檔案 include using namespace std typedef struct node node,link typedef struct list lis...
單鏈表 帶頭結點
typedef struct lnodelnode,linklist 頭插法 linklist list headinsert linklist l returnl 尾插法 linklist list tailinsert linklist l r next null 尾結點指標置空 returnl...
資料結構 單鏈表(帶頭結點)
單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。簡單講就是邏輯相鄰,物理不相鄰 帶頭結點 list.h prag...