listnode.h
#ifndef __listnode_h__
#define __listnode_h__
#include "stdio.h"
#include "assert.h"
#include "stdlib.h"
typedef int datatype;
typedef unsigned int size_t;
typedef struct node
node,*pnode;
// 初始化單鏈表
void initlist(pnode* phead);
//尾插
void pushback(pnode* phead, datatype data);
// 尾刪
void popback(pnode* phead);
// 頭插
void pushfront(pnode* phead, datatype data);
// 頭刪
void popfront(pnode* phead);
// 在單鏈表中查詢值為data的結點,找到了返回該結點的位址,否則返回null
node* find(pnode phead, datatype data);
// 在單鏈表pos位置後插入值為data的結點
void insert(pnode pos, datatype data);
// 在單鏈表中刪除位置為pos的結點
void erase(pnode* phead, pnode pos);
// 移除單鏈表中第乙個值為data的結點
void remove(pnode* phead, datatype data);
// 移除單鏈表中所有值為data的結點
void removeall(pnode* phead, datatype data)
// 獲取單鏈表總結點的總個數
size_t size(pnode phead);
// 判斷結點是否為空
int empty(pnode phead);
// 返回單鏈表的最後乙個結點的位置
pnode back(pnode phead);
// 返回單鏈表的第乙個結點的位置
pnode front(pnode phead);
// 構建乙個新節點
node* buynode(datatype data);
// 正向列印單鏈表
void printlist(pnode phead);
//銷毀鍊錶
void destroylist(pnode *phead);
#endif
listnode.c
#include
"listnode.h"
// 初始化單鏈表
void initlist(pnode* phead)
//尾插
void pushback(pnode* phead, datatype data)
}// 尾刪
void popback(pnode* phead)
else
free(pnode->_pnext );
pnode->_pnext =
null;
}}// 頭插
void pushfront(pnode* phead, datatype data)
// 頭刪
void popfront(pnode* phead)
else
}// 在單鏈表中查詢值為data的結點,找到了返回該結點的位址,否則返回null
node* find(pnode phead, datatype data)
// 在單鏈表pos位置後插入值為data的結點
void insert(pnode pos, datatype data)
// 在單鏈表中刪除位置為pos的結點
void erase(pnode* phead,pnode pos)
}}// 移除單鏈表中第乙個值為data的結點
void remove(pnode* phead, datatype data)
}// 移除單鏈表中所有值為data的結點
void removeall(pnode* phead, datatype data)
else
else
pdelnode = pdelnode->_pnext;
} } // 返回單鏈表的第乙個結點的位置
pnode front(pnode phead)
}// 返回單鏈表的最後乙個結點的位置
pnode back(pnode phead)
}// 獲取單鏈表總結點的總個數
size_t size(pnode phead)
return count;
}// 判斷結點是否為空
int empty(pnode phead)
// 正向列印單鏈表
void printlist(pnode phead)
printf("\n");
}// 構建乙個新節點
node* buynode(datatype data)
return pnewnode;
}//銷毀鍊錶
void destroylist(pnode *phead)
}
單鏈表的基本操作(C語言實現)
單鏈表的初始化,建立,插入,查詢,刪除。include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist linkedlistinit 單鏈表的建立1,頭插法建立單鏈表...
單鏈表 的基本操作 c語言實現
鍊錶的基本操作 c語言實現 執行環境 dev c 5.11 以下為原始碼,如有不正確的地方歡迎指正!include include define false 0 define true 1 typedef int datatype typedef struct nodelinklist linkli...
單鏈表的基本操作(C語言實現)
首先我來介紹一下要實現的的單鏈表基本基本操作有哪些 建立節點,頭尾的插入和刪除,某個位置的插入和刪除,查詢某個資料是否存在於單鏈表中。我們將從以下四方面對上述操作進行實現。1 單鏈表的結構體 typedef struct listnode listnode 2 以下是我們要實現的函式介面 listn...