目录首先创建好一个节点其次创建一个统计节点属性增加节点用表头插入的方法插入节点删除节点首先创建好一个节点 typedef struct node { int date; s
typedef struct node {
int date;
struct node* next;
}*PNODE;
PNODE creatnode(int date )
{
PNODE newnode = (PNODE)malloc(sizeof(struct node));
assert(newnode);
newnode->next = NULL;
newnode->date = date;
return newnode;
}
struct List {
struct node* pronode;//这只是一个类型
struct node*tailnode;
int size;
};
//创建统一链表属性的list
//用来统计链表的(size)节点数
//head和tail用来统计链表的表头和表尾
struct List* creatlist()
{
struct List* list = (struct List*)malloc(sizeof(struct List));
assert(list);
list->pronode = NULL;
list->tailnode = NULL;
list->size = 0;//初始化
return list;
}
void insertbyhead(struct List* list,int date)
{
PNODE newnode = creatnode(date);
if (list->size == 0)
{
list->pronode = list->tailnode = newnode;
}
else
{
newnode->next = list->pronode;
list->pronode = newnode;
}
list->size++;
}
//表头删除
void deletehead(struct List* list)
{
PNODE next = list->pronode->next;
free(list->pronode);
list->pronode = next;
}
//表尾删除
void deletetail(struct List* list)
{
PNODE pmove = list->pronode;//定义一个移动指针
//目的找到表尾指针
if (list->size == 0)
{
printf("无法删除");
return;
}
while (pmove->next != list->tailnode)
{
pmove = pmove->next;
}
pmove->next = NULL;//表尾指针前面一个下一个指向null
free(list->tailnode);
list->tailnode = pmove;
}
以上就是c++数据结构链表基本操作示例过程的详细内容,更多关于C++数据结构链表基本操作的资料请关注编程网其它相关文章!
--结束END--
本文标题: C++数据结构链表基本操作示例过程
本文链接: https://lsjlt.com/news/157692.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0