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

网站主题栏目分类分销商城

网站主题栏目分类,分销商城,wordpress 登陆页面模板,海淀区手机网站设计服务61. 数据结构 利用带头结点带环的结点实现栈的相关操作.因此, 每一个结点包括了一个前驱, 一个后继, 还有一个数据成员 typedef char DLinkStackType;typedef struct DLinkStack {DLinkStackType data;struct DLinkStack* next;struct DLinkStack* prev; }DLinkStack;2. 初始化…1. 数据结构 利用带头结点带环的结点实现栈的相关操作.因此, 每一个结点包括了一个前驱, 一个后继, 还有一个数据成员 typedef char DLinkStackType;typedef struct DLinkStack {DLinkStackType data;struct DLinkStack* next;struct DLinkStack* prev; }DLinkStack;2. 初始化 初始化即就是先给对应的结点申请一块内存, 然后将结点的数据成员置为 0 (个人所好), 然后将头结点的前驱后继依次指向空. void DLinkStackInit(DLinkStack** stack) {if(stack NULL || *stack NULL){return;//非法输入}*stack (DLinkStack*)malloc(sizeof(DLinkStack));(*stack) - next *stack;(*stack) - prev *stack;(*stack) - data 0; }3. 入栈 将每一个结点从链表的尾部插入,即先创建一个新结点, 然后修改新结点和最后一个结点的指向, 将新结点插入链表, 然后修改头结点和新结点的指向, 便实现了入栈操作 void DLinkStackPush(DLinkStack* stack, DLinkStackType value) {if(stack NULL){return;}DLinkStack* new_node CreatNewNode(value);DLinkStack* prev stack - prev;prev - next new_node;new_node - prev prev;new_node - next stack;stack - prev new_node; }4. 出栈 将每一个结点链表的尾部删除, 即修改倒数第二个结点和头结点的指向, 然后将倒数第一个结点删除, 这样便可以完成出栈 void DLinkStackPop(DLinkStack* stack) {if(stack NULL){return;//非法输入}if(stack - next stack){return;//空栈}DLinkStack* to_delete stack - prev;DLinkStack* prev to_delete - prev;//stack vs prevstack - prev prev;prev - next stack;DLinkStackNodeDestroy(to_delete);to_delete NULL; }5. 创建结点 DLinkStack* CreatNewNode(DLinkStackType value) {DLinkStack* new_node (DLinkStack*)malloc(sizeof(DLinkStack));new_node - data value;new_node - next NULL;new_node - prev NULL;return new_node; } 6. 取栈顶元素 每次将头结点的下一个结点的数据返回, 即就完成了取栈顶元素 int DLinkStackGetFront(DLinkStack* stack, DLinkStackType* value) {if(stack NULL){return -1;//非法输入}if(stack - next stack){return -1;//空栈}*value (stack - prev) - data;return 0; } 7. 销毁栈 从链表的第一个结点(stack - next)开始, 依次删除每一个结点, 直到最后一个结点, 同时不要忘记将头结点(傀儡结点)也删除 void DLinkStackDestroy(DLinkStack** stack) {if(stack NULL){return;//非法输入}if((*stack) - prev *stack){DLinkStackNodeDestroy(*stack);*stack NULL;}DLinkStack* next; DLinkStack* to_delete;int i DLinkStackSize(*stack);for(; i 0; i--){to_delete (*stack) - next;next to_delete - next;(*stack) - next next;next - prev *stack;DLinkStackNodeDestroy(to_delete);to_delete NULL;}DLinkStackNodeDestroy(*stack);*stack NULL; } 如有错误,还望大家能够随时提出, 大家共同进步
http://www.yutouwan.com/news/392774/

相关文章:

  • 做淘客一定要建网站吗外贸论坛排行榜
  • 做产品目录设计用什么网站好游戏推广代理平台
  • gta5网站显示建设中南京制作网站优化
  • 求个网站能用的wordpress后台添加导航
  • 网站程序有哪些如何打造电商平台
  • 网站开发资金来源番禺网站开发哪家强
  • 免费的汽车网站源码搜索引擎营销经典案例
  • 苏州 网站的公司怎样设计app软件
  • 济南做外贸的网站公司营销型企业网站建设案例
  • 一般做网站的宽度怎么处理的wordpress一键变灰色
  • vs网站开发需要的组件做毕设的网站万
  • 网站开发中安全性wordpress刷赞网站源码
  • 电子信箱注册网站网站英语培训
  • 中国建设银行个人网站网站建设要用H5吗
  • 网站仿造wordpress重装后404
  • 怎么做展示型网站邢台168
  • 设计师必备的网站有哪些网站 建设公司
  • 永兴网站建设报价河北爱站网络科技有限公司
  • 公司需要做网站昆明网站建设服务公司
  • 网站策划常用软件电子商务静态网页模板
  • 网站建设毕业设计评价软件应用技术学什么
  • 外贸公司管理系统高级seo培训
  • 网站文案优化seo信息是什么
  • dede织梦建站教程营销推广信息
  • 贺州招聘网站建设品牌网线和普通网线有什么区别
  • 河北响应式网站建设公司微信网站建设方案
  • 一个优秀的个人网站装修设计咨询公司
  • 推广网站怎么做能增加咨询xly000.wordpress 伪装
  • 网站制作珠海公司wordpress个性
  • 企业招聘网站建设网站服务器怎么弄