單鏈表(C實現)

2021-07-07 08:08:41 字數 1282 閱讀 2683

#ifndef _list_h        

#define _list_h

typedef struct _node

node;

typedef struct

list;

list *initlist();

int insertlist(list *l,void *data,int size);

node * findnodebykey(list *l,void *key,int (*compare)(void *,void *));

int deletelistbykey(list *l,void *key,int (*compare)(void *,void *));

#endif

//順序表和煉表是如何實現通用性的

//typedef void *

#include "list.h"

#include #include #include struct stu

s[3]=, ,

};//也可以通過比較其他的鍵值來查詢,比如年齡,分數。

int comparebyname(void *info,void *key)

int comparebysno(void *info,void *key)

void main()

res=findnodebykey(list,name,comparebyname);

if(res==null)

printf("not find\n");

else

printf("find\n");

if(deletelistbykey(list,sno,comparebysno))

printf("delete success\n");

else

printf("delete fail\n");

}

vc6執行效果圖

vc6除錯過程

插入3個元素

刪除其中乙個

C 單鏈表實現

1 單向鍊錶 單向鍊錶 include include class cnode 節點類 class clist 鍊錶類 cnode movetrail cnode pnode 移動到尾節點 return ptmp void addnode cnode pnode 新增節點 else m nodesu...

c 實現單鏈表

include include using namespace std typedef int datatype struct linknode 建立乙個節點 class slist void swap slist s slist const slist s head null tail null ...

單鏈表C 實現

單鏈表c 實現 單鏈表c 實現 include 節點定義 templateclass listnode 鍊錶定義 template class list 建構函式 list 析構函式 void makeempty 鍊錶置空 int length const 求鍊錶長度 listnode find t...