標頭檔案的宣告:
#pragma once
#ifndef header_h
#define header_h
#include
using
namespace std;
#define ok 1
#define error 0
#define null 0
#define overflow -2
typedef
int status;
//將status定義為int型型別 ,用於函式型別的定義
typedef
int elemtype;
//將elemtype定義為int型型別,用於結構體元素的型別定義
typedef
struct lnode //結構體的建立
lnode,
* linklist;
//結構體型別
status createlist
(linklist& l,
int n)
;//順序建立單鏈表
status getelem
(linklist l,
int i, elemtype& e)
;//取單鏈表第i個元素的值給e
status listinsert
(linklist& l,
int i, elemtype e)
;//在單鏈表中第i個位置插入元素值e
status listdelete
(linklist& l,
int i, elemtype& e)
;//在單鏈表中刪除第i個位置元素值並將其值賦值給e
status listlength
(linklist l)
;//求單鏈表的長度e
intprint
(linklist l)
;//輸出單鏈表
void
homepage()
;//輸出選擇頁面
linklist server
(linklist l)
;//將單鏈表倒置
#endif
主函式展示:
#include
"header.h"
intmain()
system
("pause");
system
("cls");
}return0;
}/*************end*******************/
函式功能的實現:
#include
"header.h"
/************beging******************/
status createlist
(linklist& l,
int n)
//順序建立單鏈表
return1;
}status getelem
(linklist l,
int i, elemtype& e)
//取單鏈表第i個元素的值給e
status listinsert
(linklist& l,
int i, elemtype e)
//在單鏈表中第i個位置插入元素值e
status listdelete
(linklist& l,
int i, elemtype& e)
//在單鏈表中刪除第i個位置元素值並將其值賦值給e
status listlength
(linklist l)
//求單鏈表的長度e
intprint
(linklist l)
//輸出單鏈表
cout << l-
>data << endl;
//輸出元素,並保證中間有空格輸入,最後無空格且換行
return1;
}void
homepage()
//輸出選擇頁面
linklist server
(linklist l)
//將單鏈表倒置
//l鍊錶中的節點全部為有效資料
//引用方式為l->next=server(l->next);
return p;
}
單鏈表的簡單實踐
1.演算法描述 資料結構與演算法分析c 版 3.11 實現乙個有序單鏈表,要求能返回鍊錶大小,列印鍊錶,檢測x是否在鍊錶 在則刪除,否則新增 2.實現 list.h ifndef list h define list h include templatestruct node templatecla...
單鏈表的學習和實踐
鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標實現的。鍊錶由一系列結點組成,結點可以在執行時動態生成,而且由於沒有閒置的記憶體,因此空間效率比陣列高。其插入操作可達到o 1 複雜度,但是查詢或者訪問特定的結點複雜度是o n 節點node類是最基本的儲存單位,乙...
實踐之單鏈表
define crt secure no warnings include include include include linklist.h using namespace std 自定義資料型別 typedef struct person person 列印函式 void myprint vo...