/* 定义节点结构体 */
typedef struct Node
{
int data;
struct Node* next;
};
/* 初始化单链表,定义头节点 */
Node* initList(void)
{
Node* list = (Node*)malloc(sizeof(Node));
list->data = 0;
list->node = NULL;
return list;
}
/* 添加--头插法 */
void headInsert(Node* list,int data)
{
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
node->next = list->next;
list->next = node;
list->data++;
}
/* 添加--尾插法 */
void tailInsert(Node* list,int data)
{
Node* head = list;
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
node->next = NULL;
list = list->next;
while(list->next)
{
list = list->next;
}
list->next = node;
head->data++;
}
/* 删除 */
void deleteList(Node* list,int data)
{
Node* pre = list;
Node* current = list->next;
while(current)
{
if(current->data == data)
{
pre->next = current->next;
free(current);
break;
}
pre = current;
current = current->next;
}
list->data--;
}
/* 遍历 */
void printList(Node* list)
{
list = list->next;
while(list)
{
pritnf("%d",list->data)
list = list->next;
}
printf("\n");
}
单链表笔记
最新推荐文章于 2024-09-01 23:06:50 发布