用c語言實現單鏈表

2021-08-08 18:53:45 字數 1769 閱讀 6899

用c語言實現單鏈表

node.h

#pragma once

typedef int datatype;

typedef struct node

node;

node* buynode(datatype x); //增容

void printlist(node* phead); //列印

void pushback(node** pphead, datatype x); //尾插

void popback(node** pphead); //尾刪

void pushfront(node** pphead, datatype x); //頭插

void popfront(node** pphead); //頭刪

void insert(node** pphead,node* pos, datatype x); //插入元素

void erase(node** pphead,node* pos); //刪除任意

node* find(node* phead, datatype x); //查詢

node* buynode(datatype x) //增容

void printlist(node* phead) //列印

printf("\n");

}void pushback(node** pphead, datatype x) //尾插

else

tail->next = buynode(x); }}

void popback(node** pphead) //尾刪

else if ((*pphead)->next == null) //只有乙個節點

else //有多個節點

prev->next = null;

free(cur); }}

void pushfront(node** pphead, datatype x) //頭插

else

*/ node* tmp = buynode(x);

tmp->next = *pphead;

*pphead = tmp;

}void popfront(node** pphead) //頭刪

else if ((*pphead)->next == null) //只有乙個節點

else //有多個節點 }

void insert(node** pphead, node* pos, datatype x) //插入元素

else

prev->next = tmp;

tmp->next = pos; }}

void erase(node** pphead, node* pos) // 刪除任意元素

else if (pos->next == null)

else

prev->next = next;

free(pos); }}

node* find(node* phead, datatype x) //查詢

cur = cur->next;

} return null;

}void testlist1()

void testlist2()

node.c

#define _crt_secure_no_warnings 1

#include #include #include #include #include "node.h"

int main()

用C語言實現單鏈表

最近在重新學資料結構,所以把每次寫完的 記錄一些!include include define error 0 define ok 1 構造節點 typedef struct node node 初始化鍊錶 n 初始化的長度 node init head int n node head node m...

c語言實現單鏈表

一 使用簡介 使用c語言實現了單鏈表的基本操作,共有四個檔案,兩個標頭檔案是常用的,後兩個分別是主函式,和對鍊錶的基本操作函式,倒入時候,須將四個檔案放在同乙個目錄下。二 心得 在書寫過程中,主要錯誤集中在指標的使用上,通過此次程式設計,對於指標的認識更加深刻,頭結點的存在,更大意義上是為了簡化指標...

C語言實現單鏈表

單鏈表可以說是基礎,有利於對指標的使用 結點 typedef int datatype typedef struct slistnode slistnode 實現的函式的宣告如下 slistnode buynode datatype x void printslist slistnode phead...