C語言之單向鍊錶

2021-09-24 20:43:15 字數 1430 閱讀 9198

1,單向鏈簡潔。

單向鍊錶(單鏈表)是鍊錶的一種,其特點是鍊錶的鏈結方向是單向的,對鍊錶的訪問要通過順序讀取從頭部開始;鍊錶是使用指標進行構造的列表;又稱為結點列表,因為鍊錶是由乙個個結點組裝起來的;其中每個結點都有指標成員變數指列表中的下乙個結點;

​列表是由結點構成,由head指標指向第乙個成為表頭的結點而終止於最後乙個指向null的指標;

2,例子要求:

根據示例**中的例子,完成單向鍊錶(single linked list)中的以字串為資料的鍊錶的插入、刪除以及查詢,並支援單向鍊錶的反轉;

3,**實現。

#include

#include

#include

#include

#include

//節點的定義

typedef struct node nodestruct, *pnode;

pnode head = null;

typedef char (*pcomparefunc)(void *a, void *b);

typedef void* (*pchar)(void *p);

// 字串判斷

int str_compare(void *a, void *b)

// 分配乙個節點

pnode allocate_node(void *data, pchar char_func)

// 建立節點

pnode allocate()

// 新增乙個節點

void insertnode(pnode node)

else

}void* char_char(void *p)

// 初始化節點

pnode allocate_node(void *data, pchar char_func)

// 釋放資源

void free_list(pnode node)

}// 1.1 新增乙個節點

void insert(pnode node)

}查詢int str_search(void* data,pcomparefunc compare)

prev = next;

next = next->next;

}// 如果一直查詢不到,就返回0

return 0;

}// 1.3刪除節點

void remove(void* data,pcomparefunc compare) else

break;

}prev = next;

next = next->next;}}

反轉void invert_order()

head.next=this;

}void main()

C語言 單向鍊錶

1.c語言單向鍊錶 2.鍊錶的 增,刪,查,遍歷 author mr.long date 2015 12 1 15 24 26 include include 結構定義 struct node 函式定義 void printnode struct node head struct node addf...

C語言 單向鍊錶

1 單向鍊錶的定義 struct student next作為同型別指標,指向與它所在節點一樣的節點。1 建立鍊錶 int main 定義建立函式create,建立乙個有n個節點的單向鍊錶 struct student create int n ptail next null return head...

C語言之鍊錶

鍊錶的觀念 鍊錶是一種物理儲存上非連續,資料元素的邏輯順序通過鍊錶中的指標鏈結次序,實現的一種線性儲存結構。特點 鍊錶由一系列節點 鍊錶中每乙個元素就稱為節點 組成,節點在執行時動態生成 malloc 每個節點包括兩部分 乙個是儲存資料元素的資料域 乙個是儲存下乙個節點位址的指標域 定義乙個鍊錶 t...