1. 单链表的实现
直接介绍单链表的功能函数:
void SLTPrint(SLTNode* phead);
void SLTPushBack(SLTNode** phead, SLTDataType x);
void SLTPushFront(SLTNode** phead, SLTDataType x);
void SLTPopBack(SLTNode** phead);
void SLTPopFront(SLTNode** phead);
SLTNode* SLTFind(SLTNode* phead, SLTDataType x);
void SLTInsert(SLTNode** phead, SLTNode* pos, SLTDataType x);
void SLTInsertAfter(SLTNode* pos, SLTDataType x);
void SLTErase(SLTNode** phead, SLTNode* pos);
void SLTEraseAfter(SLTNode* pos);
void SListDestroy(SLTNode** phead);
1.1 实现
前置条件定义如下:
typedef int SLTDataType;
typedef struct SListNode {
SLTDataType data;
struct SListNode* next;
} SLTNode;
节点在内存中存储数据值和指向下一个节点的指针。多个节点通过指针连接成链表。
示例测试代码:
void test1() {
SLTNode* node1 = (SLTNode*)((SLTNode));
node1->data = ;
SLTNode* node2 = (SLTNode*)((SLTNode));
node2->data = ;
SLTNode* node3 = (SLTNode*)((SLTNode));
node3->data = ;
SLTNode* node4 = (SLTNode*)((SLTNode));
node4->data = ;
node1->next = node2;
node2->next = node3;
node3->next = node4;
node4->next = ;
SLTNode* plist = node1;
SLTPrint(plist);
}




