实现单链表的一些基本操作:链表初始化--〉尾插--〉尾删--〉头插--〉头删--〉查找值为data的结点,返回该结点在链表中的位置--〉在链表pos位置后插入结点data,删除链表pos位置上的结点--〉销毁单链表--〉求链表中结点的个数--〉将链表中的结点清空---〉创建新结点 --〉获取链表中的最后一个结点,返回该结点的地址---等等
下面是一些简单的代码实现(C语言)
test.c:
#define _CRT_SECURE_NO_WARNINGS 0;
#include "slist.h"
//测试尾插
void testsListPushBack(pNode *pHead)
{
sListPushBack(pHead, 0);
sListPushBack(pHead, 1);
sListPushBack(pHead, 2);
sListPushBack(pHead, 3);
printSList(*pHead);
printNodeNum(*pHead);
}
//测试尾删
void testSListPopBack(pNode *pHead)
{
SListPopBack(pHead);
SListPopBack(pHead);
SListPopBack(pHead);
SListPopBack(pHead);
SListPopBack(pHead);
printSList(*pHead);
printNodeNum(*pHead);
}
//测试头插
void testSListPushFront(pNode *pHead)
{
SListPushFront(pHead, 1);
printSList(*pHead);
printNodeNum(*pHead);
}
//测试头删
void testSListPopFront(pNode *pHead)
{
SListPopFront(pHead);
printSList(*pHead);
printNodeNum(*pHead);
}
//测试任意插
void testSListInsert(pNode *pHead)
{
pNode pCur = *pHead;
SListInsert(pHead, pCur->_pNext, 6);
// SListInsert(pHead, pCur->_pNext->_pNext->_pNext->_pNext, 7);
printSList(