基於C 的單鏈表的實踐

2021-10-10 22:21:47 字數 2229 閱讀 7714

標頭檔案的宣告:

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