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

网站推荐界面室内设计好学吗

网站推荐界面,室内设计好学吗,咸阳网站建设培训学校,上市网络公司排名双向链表#xff1a;在单向链表的每个结点中#xff0c;再设置一个指向其前驱结点的指针域#xff08;即牺牲部分空间#xff0c;添加了一个前驱结点的指针域#xff09; 1. 双向链表的定义#xff1a; #ifndef _DOULINK_H_ #define _DOULINK_H_typedef struct stu {in…        双向链表在单向链表的每个结点中再设置一个指向其前驱结点的指针域即牺牲部分空间添加了一个前驱结点的指针域 1. 双向链表的定义 #ifndef _DOULINK_H_ #define _DOULINK_H_typedef struct stu {int id;char name[32];int score; }DATA_TYPE;typedef struct node {DATA_TYPE data;struct node *pnext;struct node *ppre; }DOU_NODE;typedef struct list {DOU_NODE *phead;int curlen; }DOU_LIST;typedef void (*PFUN_T)(DOU_NODE *);#endif 2. 双向链表句柄的创建 DOU_LIST *Create_Dou_List(void) {DOU_LIST *plist malloc(sizeof(DOU_LIST));if(plist NULL){perror(fail to malloc);return NULL;}plist-phead NULL;plist-curlen 0;return plist; } 3. 双向链表结点的创建 DOU_NODE *Creat_Node(DATA_TYPE data) {DOU_NODE *pnode malloc(sizeof(DOU_NODE));if(pnode NULL){perror(fail to malloc);return NULL;}pnode-data data;pnode-pnext NULL;pnode-ppre NULL;return pnode; } 4. 双向链表的遍历 void Dou_List_For_Each(DOU_LIST *plist, void (*pfun)(DOU_NODE *)) {DOU_NODE *ptmp plist-phead;while(ptmp ! NULL){pfun(ptmp);ptmp ptmp-pnext;}#if 0 //反向遍历while(ptmp-pnext ! NULL){ptmp ptmp-pnext;}while(ptmp ! NULL){printf(id %d name %s\t score %02d\n, ptmp-data.id, ptmp-data.name, ptmp-data.score);ptmp ptmp-ppre;} #endifreturn; } 5. 双向链表头插法 int Is_Empty_Link(DOU_LIST *plist) {return plist-phead NULL; }int Push_Head_Dou_Link(DOU_LIST *plist, DOU_NODE *pnode) {if(plist NULL || pnode NULL){return -1;}if(Is_Empty_Link(plist)){plist-phead pnode;}else{pnode-pnext plist-phead;pnode-pnext-ppre pnode;plist-phead pnode;}plist-curlen;return 0; } 6. 双向链表尾插法 int Push_Tail_Dou_Link(DOU_LIST *plist, DOU_NODE *pnode) {if(plist NULL || pnode NULL){return -1;}if(Is_Empty_Link(plist)){plist-phead pnode;}else{DOU_NODE *ptmp plist-phead;while(ptmp-pnext ! NULL){ptmp ptmp-pnext;}ptmp-pnext pnode;pnode-ppre ptmp;}plist-curlen;return 0; } 7. 双向链表头删法 int Pop_Head_Dou_Link(DOU_LIST *plist) {if(Is_Empty_Link(plist)){return 0;}if(plist-phead-pnext NULL){free(plist-phead);plist-phead NULL;}else{DOU_NODE *ptmp plist-phead;plist-phead ptmp-pnext;ptmp-pnext-ppre NULL;free(ptmp);}plist-curlen--;return 0; } 8. 双向链表尾删法 int Pop_Tail_Dou_Link(DOU_LIST *plist) {if(Is_Empty_Link(plist)){return 0;}if(plist-phead-pnext NULL){free(plist-phead);plist-phead NULL;}else{DOU_NODE *ptmp plist-phead;while(ptmp-pnext ! NULL){ptmp ptmp-pnext;}ptmp-ppre-pnext NULL;free(ptmp);}plist-curlen--;return 0; } 9. 双向链表找到数据的结点 DOU_NODE *Find_Node(DOU_LIST *plist, DATA_TYPE data) {DOU_NODE *ptmp plist-phead;while(ptmp ! NULL){if(!memcmp(ptmp-data, data, sizeof(data))){return ptmp;}ptmp ptmp-pnext;}return NULL; } 10. 双向链表替换数据 int Replace_Node(DOU_LIST *plist, DATA_TYPE olddata, DATA_TYPE newdata) {DOU_NODE *ptmp plist-phead;while(ptmp ! NULL){if(!memcmp(ptmp-data, olddata, sizeof(olddata))){ptmp-data newdata;return 0;}ptmp ptmp-pnext;}return -1; }11. 双向链表的销毁 void Destroy_Dou_Link(DOU_LIST *plist) {while(plist-phead ! NULL){Pop_Head_Dou_Link(plist);}free(plist);return; } 12. 双向链表删除某个结点 int Delete_Data(DOU_LIST *plist, void *data, int (*pfun)(DOU_NODE *, void *)) {if(Is_Empty_Link(plist)){return 0;}DOU_NODE *pfree plist-phead;while(pfree ! NULL){if(pfun(pfree, data)){if(pfree plist-phead){plist-phead pfree-pnext;pfree-pnext-ppre NULL;free(pfree);}else if(pfree-pnext NULL){pfree-ppre-pnext NULL;free(pfree);}else{pfree-ppre-pnext pfree-pnext;pfree-pnext-ppre pfree-ppre;free(pfree);}plist-curlen--;return 0;}else{pfree pfree-pnext;}}return -1; } 13. 双向链表逆序 int Reverse_Dou_Link(DOU_LIST *plist) {if(Is_Empty_Link(plist)){return 0;}DOU_NODE *ptmp plist-phead-pnext;DOU_NODE *pinsert NULL;plist-phead-pnext NULL;while(ptmp ! NULL){pinsert ptmp;ptmp ptmp-pnext;pinsert-ppre NULL;pinsert-pnext plist-phead;plist-phead-ppre pinsert;plist-phead pinsert;}return 0; }
http://www.pierceye.com/news/582426/

相关文章:

  • 长春模板建站代理网站开发嘉比格网络
  • 网站建设预算企业网站的公司和产品信息的介绍与网络营销关系
  • 网站开发的学习电子商务网站建设公
  • 网站的功能需求分析c语言网页编辑器
  • 网站投资多少钱制作做的网站如何上传网上
  • 沈阳自助建站模板网站建设想法
  • 湖南岳阳网站建设公司黄页顺企网怎样不让网站被收录
  • 有没有专门做翻译的网站安徽建设工程信息网招标公告
  • 保险咨询网站留电话中国十大网络公司排行榜
  • 领手工在家做的网站2019网页设计与实现论文
  • 兰州微信信息平台网站建设绍兴本地网站建设
  • 关于旅游网站策划书千锋前端培训多少钱
  • 温州网站建设结构做代练网站能备案
  • 零基础学习做网站第三方装修评估公司
  • 基础微网站开发动态网站彩票投注员做啥的
  • 西安做网站设计公司爱做网站免费版
  • 效果图网站接单重庆一般建一个网站需要多少钱
  • 网站建设征求意见稿辅料企业网站建设费用
  • 上海网站建设公司服务沅江网站制作
  • 公司网站开发费用计入什么科目虚拟主机怎么建网站
  • 天津网站建设技术网页设计与制作教程版徐洪亮课后答案
  • 旅游网站建设方案简介用asp做的网站打开页面很慢
  • 做影视网站 片源从哪里来做自媒体的上那些网站
  • 邢台网站开发百度云 做网站
  • 淘宝优惠劵网站建设wordpress主题 简洁
  • 自己做电影资源网站揭阳新闻最新消息
  • 北碚免费建站哪家做得好佛山网站建设设计
  • 怎么做网站拍卖的那种wordpress主题搜索图标
  • 三亚网站建设平台查数据的权威网站
  • html网站制作答辩ppt网站备份和备案的区别