概述
首先创建好一个节点
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++数据结构链表基本操作的资料请关注靠谱客其它相关文章!
最后
以上就是曾经玉米为你收集整理的C++数据结构链表基本操作示例过程的全部内容,希望文章能够帮你解决C++数据结构链表基本操作示例过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复