/* 定义链表结构体 */
typedef struct Node
{
int data;
struct Node* next;
};
/* 初始化链表 */
Node* initList(void)
{
Node* L = (Node*)malloc(sizeof(Node));
L->data = 0;
L->next = L;
}
/* 添加--头插法 */
void headInsert(Node* L,int data)
{
Node* node = (Node*)malloc(sizeof(Node));
node ->data = data;
node ->next = L->next;
L->next = node;
}
/* 添加--尾插法 */
void tailInsert(Node* L, int data)
{
Node* n = L;
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
while(n->next != L)
{
n = n->next;
}
node->next = L;
n-next = node;
}
/* 删除 */
#define FALSE 0
#define TRUE 1
int deleteList(Node* L,int data)
{
Node* preNode = L;
Node* node = L->next;
while(node != L)
{
if(node->data == data)
{
preNode->next = node->next;
free(node);
return TRUE;
}
preNode = node;
node = node->next;
}
return FALSE;
}
/* 遍历 */
void printList(Node* L)
{
Node* node = L->next;
while(node != L)
{
printf("%d", node->data);
node = node->next;
}
printf("NULL\n")
}
单循环链表笔记
最新推荐文章于 2024-10-11 21:48:33 发布