当前位置: 首页 > news >正文

泸州公司做网站抖音指数查询

泸州公司做网站,抖音指数查询,企业内部管理系统网站建设,江门关键词按天优化目录 一、结构定义 二、结点创建 三、头结点初始化 四、链表打印 五、尾插 六、头插 七、尾删 八、头删 九、查找#xff08;返回结点#xff09; 十、任意位置插入 十一、任意位置删除 十二、利用LTInsert写尾插函数 十三、利用LTInsert写头插函数 十四、利用…目录 一、结构定义 二、结点创建 三、头结点初始化 四、链表打印  五、尾插 六、头插 七、尾删 八、头删 九、查找返回结点 十、任意位置插入 十一、任意位置删除 十二、利用LTInsert写尾插函数 十三、利用LTInsert写头插函数 十四、利用LTErase写尾删函数 十五、利用LTErase写头删函数 十六、销毁链表  十七、测试代码 一、结构定义 //带头双向循环链表的结构定义 typedef int LTDataType;typedef struct ListNode {LTDataType val;struct LTNode* next;struct LTNode* prev; }LTNode; 二、结点创建 //带头双向循环链表结点创建 LTNode* CreateLTNode(LTDataType x) {LTNode* newnode (LTNode*)malloc(sizeof(LTNode));if (newnode NULL){perror(malLoc fail:);exit(-1);}newnode-val x;newnode-next NULL;newnode-prev NULL;return newnode; } 三、头结点初始化 //带头双向循环链表的初始化 LTNode* LTInit(LTNode* phead) {phead CreateLTNode(-1);phead-next phead;phead-prev phead;return phead; } 四、链表打印  //带头双向循环链表的打印 void LTPrint(LTNode* phead) {assert(phead);LTNode* cur phead-next;while (cur ! phead){printf(%d, cur-val);cur cur-next;}printf(\n); } 五、尾插 //带头双向循环链表的尾插 void LTPushBack(LTNode* phead, LTDataType x) {assert(phead);LTNode* newnode CreateLTNode(x);LTNode* tail phead-prev;//尾指针//尾插tail-next newnode;newnode-prev tail;newnode-next phead;phead-prev newnode;} 六、头插 //带头双向循环链表的头插 void LTPushFront(LTNode* phead, LTDataType x) {assert(phead);LTNode* newnode CreateLTNode(x);LTNode* first phead-next;newnode-next first;first-prev newnode;phead-next newnode;newnode-prev phead; } 七、尾删 //带头双向循环链表的尾删 void LTPopBack(LTNode* phead) {assert(phead);assert(phead-next ! phead);//空链表不能删LTNode* tail1 phead-prev;//尾1结点LTNode* tail2 tail1-prev;//尾2结点tail2-next phead;phead-prev tail2;free(tail1);tail1 NULL; } 八、头删 //带头双向循环链表的头删 void LTPopFront(LTNode* phead) {assert(phead);assert(phead-next ! phead);//空链表不能删LTNode* first phead-next;LTNode* second first-next;free(first);first NULL;phead-next second;second-prev phead;} 九、查找返回结点 //带头双向循环链表的查找 LTNode* LTFind(LTNode* phead, LTDataType x) {assert(phead);LTNode* cur phead-next;while (cur ! phead){if (cur-val x)return cur;elsecur cur-next;}return NULL; } 十、任意位置插入 如果插入位置是哨兵位那么相当于尾插 如果插入位置是哨兵位的后一结点那么相当于头插 //带头双向循环链表的任意位置插入 void LTInsert(LTNode* pos, LTDataType x) {assert(pos);//插入位置必须有效LTNode* newnode CreateLTNode(x);LTNode* posPrev pos-prev;newnode-next pos;pos-prev newnode;posPrev-next newnode;newnode-prev posPrev; } 十一、任意位置删除 如果删除位置是哨兵位的后一结点那么相当于头删 如果删除位置是哨兵位的前一结点那么相当于尾删 //带头双向循环链表的任意位置删除 void LTErase(LTNode* pos) {assert(pos);LTNode* posPrev pos-prev;LTNode* posNext pos-next;posPrev-next posNext;posNext-prev posPrev;free(pos); } 十二、利用LTInsert写尾插函数 //利用LTInsert写尾插函数 void LTPushBackInsert(LTNode* phead, LTDataType x) {assert(phead);LTInsert(phead, x); } 十三、利用LTInsert写头插函数 //利用LTInsert写头插函数 void LTPushFrontInsert(LTNode* phead, LTDataType x) {assert(phead);LTInsert(phead-next, x); } 十四、利用LTErase写尾删函数 //利用LTErase写尾删函数 void LTPopBackErase(LTNode* phead) {assert(phead-next ! phead);//链表为空不能删除LTErase(phead-prev); } 十五、利用LTErase写头删函数 //利用LTErase写头删函数 void LTPopFrontErase(LTNode* phead) {assert(phead-next ! phead);LTErase(phead-next); } 十六、销毁链表  //销毁带头双向循环链表 void LTDestroy(LTNode* phead) {assert(phead);LTNode* cur phead-next;while (cur ! phead){LTNode* tmp cur;cur cur-next;free(tmp);}free(phead); } 十七、测试代码 void test01() {//初始化哨兵位LTNode* plist NULL;plist LTInit(plist);//LTNode* plist LTInit(plist);//尾插LTPushBack(plist, 1);LTPushBack(plist, 2);LTPushBack(plist, 3);LTPushBack(plist, 4);LTPushBack(plist, 5);LTPushBack(plist, 6);//头插LTPushFront(plist, 1);LTPushFront(plist, 2);LTPushFront(plist, 3);LTPushFront(plist, 4);LTPushFront(plist, 5);LTPushFront(plist, 6);//打印LTPrint(plist);//尾删LTPopBack(plist);LTPopBack(plist);LTPopBack(plist);//打印LTPrint(plist);//头删LTPopFront(plist);LTPopFront(plist);LTPopFront(plist);//打印LTPrint(plist);//查找值为2的结点并在该位置插入值为10的结点LTNode* pos1 LTFind(plist, 2);LTInsert(pos1, 10);//打印LTPrint(plist);//查找值为3的结点并删除该结点LTNode* pos2 LTFind(plist, 3);LTErase(pos2);//打印LTPrint(plist);//尾插LTPushBackInsert(plist, 1);LTPushBackInsert(plist, 2);LTPushBackInsert(plist, 3);LTPushBackInsert(plist, 4);//打印LTPrint(plist);//头插LTPushFrontInsert(plist, 1);LTPushFrontInsert(plist, 2);LTPushFrontInsert(plist, 3);LTPushFrontInsert(plist, 4);//打印LTPrint(plist);//尾删LTPopBackErase(plist);LTPopBackErase(plist);LTPopBackErase(plist);//打印LTPrint(plist);//头删LTPopFrontErase(plist);LTPopFrontErase(plist);LTPopFrontErase(plist);//打印LTPrint(plist);//销毁链表//LTDestroy(plist);//plistNULL;}int main() {test01();return 0; }
http://wiki.neutronadmin.com/news/187808/

相关文章:

  • 静态网站可以做留言板广州市住房与城乡建设厅网站
  • 龙岗开发公司网站建设有没有做兼职的网站吗
  • 免费网站建设模版云盘域名买好了怎么做网站
  • 网站建设需要的技术路线网站不同
  • 金华网站开发网站建设构造学习
  • 太原seo关键词排名哪里能搜索引擎优化
  • 网站模板编辑软件外贸网站建设定制
  • 做二手交易网站如何盈利竹子建站怎么赚钱
  • 做的好微信商城网站吗网页设计和ui设计有什么区别
  • 国外网站设计师网站一般如何做搜索功能
  • 网站建设技术网站建设新乡市红旗区建设局网站
  • 什么公司做的网站好电子商务项目策划书
  • 企业商城网站建设价格网站备案 图片大小
  • 揭阳商城网站建设建站公司分析
  • 东莞有哪些好的网站建设公司跨境电商服务
  • 潍坊奎文住房和城乡建设局网站wordpress用户名的要求
  • html企业网站系统中信建设有限责任公司深圳中信金融中心项目工期专业招标
  • 公司网站要备案吗注册资金100万的公司要多少钱
  • 福州网站定制公司做网站需要多少
  • 苏州好的做网站的公司泰安房产网签最新情况
  • 西安营销型网站网站建设开放的端口
  • linux 配置网站域名简单网页源代码
  • 竹中建设官方网站wordpress 注册验证码
  • 手机网站快速排名 软件网上做ps赚钱的网站
  • 网站的着陆页做网站和做网页的区别
  • 网站建设往年的高考题查看网站主机
  • 有什么公司建网站如何做微信小程序网站
  • 企业门户网站平台建设招标采购文件网站建设推广群
  • 网站开发与维护项目招标站长工具流量统计
  • 网站空间可以通过什么获取网站的seo