單鏈表的初始化,刪除,銷毀,查詢

2021-08-08 20:39:09 字數 2465 閱讀 9252

單鏈表的初始化,頭刪,尾刪,頭插,尾插,銷毀,查詢。
node.h
#ifndef __node_h__

#define __node_h__

typedef int datatype;

#define null 0

#include#include#includetypedef struct node

node, *linklist;

void initlist(linklist *l);//單鏈表的初始化

linklist buynode(datatype data);//產生新節點

void printlist(linklist l);//列印單鏈表的值域

linklist find(linklist* l, datatype data);//找指定data值,返回其節點

void pushback(linklist* l, datatype data);//尾插

void pushfront(linklist* l, datatype data);//頭插

void popback(linklist* l);//尾刪

void popfront(linklist* l);//頭刪

void destroy(linklist* l);//單鏈表的銷毀

size_t size(linklist l);//單鏈表長度

void erase(linklist* l,linklist pos);//刪除任意位置的節點

void insert(linklist pos, datatype data);//在任意節點後插入乙個節點

#endif//__node_h__

node.c
#define _crt_secure_no_warnings 1

#include"node.h"

void initlist(linklist *l)

(*l)->next = null;

(*l)->data =null;

}linklist buynode(datatype data)

newnode->data = data;

newnode->next = null;

return newnode;

}void printlist(linklist l)

while (cur->next)

printf("%d--->", cur->data);

printf("\n");

}linklist find(linklist* l, datatype data)

linklist cur = *l;

while (cur->next!=null)

else

cur = cur->next;

} if (cur->data == data)

return cur;

}void pushback(linklist* l, datatype data)

while (cur->next)

cur->next= buynode(data);

}void pushfront(linklist* l, datatype data)

*l = buynode(data);

(*l)->next = cur;

}void popback(linklist*l)

free(pre->next);

pre->next = null;

}void popfront(linklist* l)

size_t size(linklist l)

return count + 1;

}void erase(linklist* l, linklist pos) }}

void insert(linklist pos, datatype data)

void destroy(linklist* l)

}

test.c

#define _crt_secure_no_warnings 1

#include"node.h"

void test()

int main()

單鏈表的初始化 查詢 刪除 插入 釋放

get1 我這裡的單獨建立了乙個結構體 list來儲存整個鍊錶的資訊和一般的參考書上可能不一樣 2 實際的單鏈表由 list裡面的 頭結點head進行連線。3 頭結點有資料域和指標域 資料域可以任意替換 4 本程式實現了 單鏈表的建立 使用尾插法,符合先進先出的生活邏輯。頭插法也可以 單鏈表的刪除 ...

單鏈表的初始化

方法一 include using namespace std struct listnode class solution cout head val return positiveoutput head next 該函式的作用是倒序輸出結點值 listnode reverseoutput lis...

單鏈表基本操作 初始化,建立,插入,查詢,刪除

單鏈表的初始化,建立,插入,查詢,刪除。include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist linkedlistinit 單鏈表的建立1,頭插法建立單鏈表...