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

网站建设应考虑哪些方面的问题权威发布信息

网站建设应考虑哪些方面的问题,权威发布信息,wp风格网站,安徽先锋网站两学一做1. makefile——#xff08;注意#xff1a;双向无头链表第一个节点的pre为空#xff0c;最后一个节点的next为空#xff09; 单向无头链表只能找到后一个节点、双向无头链表前后节点都能找到 OBJ:doulink OBJSmain.c doublelink.c CClgcc$(OBJ):$(OBJS)$(CC) $^ -o $ .PH…1. makefile——注意双向无头链表第一个节点的pre为空最后一个节点的next为空 单向无头链表只能找到后一个节点、双向无头链表前后节点都能找到 OBJ:doulink OBJSmain.c doublelink.c CClgcc$(OBJ):$(OBJS)$(CC) $^ -o $ .PHONY: clean:rm $(OBJ) test:valgrind --toolmemcheck --leak-checkfull ./$(OBJ)2. doublelink.h #ifndef _DOUBLELINK_H_ #define _DOUBLELINK_H_typedef struct stu {int id;char name[32];int score; }DataType;typedef struct node {DataType data;struct node *ppre;struct node *pnext; }DouNode;typedef struct list {DouNode *phead;int clen; }DouList;extern DouList *create_dou_link(); extern int is_empty_dou_link(DouList *plist); extern int push_head_dou_link(DouList *plist, DataType data); extern void dou_link_for_each(DouList *plist, int dir); extern int push_tail_dou_link(DouList *plist, DataType data); extern int pop_head_dou_link(DouList *plist); extern int pop_tail_dou_link(DouList *plist); extern DouNode *find_name(DouList *plist, char *pname); extern int modify_score(DouList *plist, char *pname, int pscore); extern void destory_dou_link(DouList *plist);#endif 3. doublelink.c #include doublelink.h #include stdio.h #include stdlib.h #include string.hDouList *create_dou_link()//创建标签 {DouList *plist NULL;plist (DouList *)malloc(sizeof(DouList));if (NULL plist){perror(fail to malloc);return NULL;}plist-phead NULL;plist-clen 0;return plist; }int is_empty_dou_link(DouList *plist)//判断空链表 {if (NULL plist-phead){return 1;}return 0; }int push_head_dou_link(DouList *plist, DataType data)//头插 {DouNode *pnode NULL;pnode malloc(sizeof(DouNode));if (NULL pnode){perror(fail to malloc);return -1;}pnode-data data;pnode-ppre NULL;pnode-pnext NULL;if (is_empty_dou_link(plist))//空链表直接插{plist-phead pnode;}else{pnode-pnext plist-phead;plist-phead-ppre pnode;plist-phead pnode;}plist-clen;return 0; }void dou_link_for_each(DouList *plist, int dir)//两种方式遍历链表1顺序遍历打印 0逆序遍历打印 {if (is_empty_dou_link(plist)){return;}DouNode *ptmp plist-phead;if (dir)//顺序遍历打印{while (ptmp){printf(%d %s %d\n, ptmp-data.id, ptmp-data.name, ptmp-data.score);ptmp ptmp-pnext;}}else//逆序遍历打印{while (ptmp-pnext)//走到末尾{ptmp ptmp-pnext;}while (ptmp){printf(%d %s %d\n, ptmp-data.id, ptmp-data.name, ptmp-data.score);ptmp ptmp-ppre;}}printf(\n); }int push_tail_dou_link(DouList *plist, DataType data)//头插 {DouNode *p NULL;DouNode *pnode NULL;pnode malloc(sizeof(DouNode));if (NULL pnode){perror(fail to malloc);return -1;}pnode-data data;pnode-ppre NULL;pnode-pnext NULL;if (is_empty_dou_link(plist))//空链表直接插{plist-phead pnode;}else{ p plist-phead;while (p-pnext ! NULL){p p-pnext;}p-pnext pnode;pnode-ppre p;}plist-clen;return 0; }int pop_head_dou_link(DouList *plist)//头删 {if (is_empty_dou_link(plist))//空链表直接结束程序{return -1;}DouNode *pfree NULL;pfree plist-phead;plist-phead pfree-pnext;//标签指向第二个节点首地址if (plist-phead ! NULL)//判断是否空链表{plist-phead-ppre NULL;//将第二个节点的ppre变为NULL}free(pfree);plist-clen--;return 0; }int pop_tail_dou_link(DouList *plist)//尾删 {if (is_empty_dou_link(plist))//空链表程序结束{return -1;}DouNode *pfree NULL;pfree plist-phead;while (pfree-pnext)//指针指向最后一个节点{pfree pfree-pnext;}if (pfree-ppre ! NULL)//链表有两个以上节点{pfree-ppre-pnext NULL;}else //链表只有一个节点{plist-phead NULL;}free(pfree);plist-clen--;return 0; }DouNode *find_name(DouList *plist, char *pname)//寻找name {DouNode *ptmp NULL;ptmp plist-phead;while (ptmp ! NULL){if (!strcmp(pname, ptmp-data.name)){return ptmp;}ptmp ptmp-pnext;}return NULL; }int modify_score(DouList *plist, char *pname, int pscore)//修改分数 {DouNode *ptmp NULL;ptmp find_name(plist, pname);if (ptmp ! NULL){ptmp-data.score pscore;return 0;}return -1; }void destory_dou_link(DouList *plist)//链表摧毁 {while (!is_empty_dou_link(plist)){pop_head_dou_link(plist);}free(plist); }4. main.c #include stdio.h #include stdlib.h #include doublelink.hint main(void) {DataType stus[] {{1, doinb, 100},{2, lwx, 67},{3, lqs, 99},{4, tian, 98},{5, gimgoon, 78},{6, xinyi, 88},{7, nuguri, 99},{8, khan, 77},{9, bo, 94},{10, xiaolaohu, 60}};DouNode *ptmpnode NULL;DouNode *pnamepnode NULL;int ret_modify 0;int i 0;int new_score[] {100, 99, 98, 97, 96, 95, 94, 93, 92, 91};DouList *plist create_dou_link();//表头创建if (NULL plist){return -1;}for (i 0; i sizeof(stus) / sizeof(stus[0]); i)//给链表中插入结构体中的所有内容{push_tail_dou_link(plist, stus[i]);//尾插}dou_link_for_each(plist, 1);dou_link_for_each(plist, 0);#if 0for (i 0; i sizeof(stus)/sizeof(stus[0]); i)//遍历查找{pnamepnode find_name(plist, stus[i].name);if (pnamepnode ! NULL){printf(find node );printf(%d , pnamepnode-data.id);printf(%s , pnamepnode-data.name);printf(%d\n, pnamepnode-data.score);}else{printf(not find this node\n);}} #endif#if 0for (i 0; i sizeof(stus)/sizeof(stus[0]); i)//遍历修改{ret_modify modify_score(plist, stus[i].name, new_score[i]);if (-1 ret_modify){perror(fail to modify_score\n);}}dou_link_for_each(plist, 1);dou_link_for_each(plist, 0); #endif#if 0for (i 0; i sizeof(stus) / sizeof(stus[0]); i)//测试头删{pop_head_dou_link(plist);//尾删dou_link_for_each(plist, 1);dou_link_for_each(plist, 0);} #endif destory_dou_link(plist);//销毁return 0; }2. 程序注意 1. 指针遍历 1操作此指针 if (ptmp ! NULL){ptmp ptmp-pnext;} 2指针指向链表节点末尾 if (ptmp-pnext ! NULL){ptmp ptmp-pnext;}
http://www.w-s-a.com/news/314175/

相关文章:

  • 电子商务网站建设与规划总结外链查询网站
  • 西安网站品牌建设做网站需要的东西
  • 网站外围网站怎么做移动端网站开发项目
  • 做网站只做前端可以用吗知更鸟免费 wordpress
  • html5 微信网站主流开发技术标准网站搭建费用
  • 加强统计局网站的建设和管理广州微信网站建设价格
  • 华宁网站建设设计公司 网站
  • 简历网站免费怎么查在哪个网站做的备案
  • 响应式网站 价格网站用哪些系统做的比较好用
  • 高端网站案例360做的网站
  • 瑞安地区建设网站公众号开发者工具是干嘛的
  • 请解释网站开发的主要流程.wordpress主体上传
  • 网站方案组成要素饰品公司网站建设方案
  • 网站改版被降权赣州景文网络科技有限公司
  • 吉林省网站建设推广图片模版
  • 如何做网站热力图佛山 网站关键词优化
  • 个人网站建设论文中期报告申报网站建设理由 模板
  • 岫岩做网站软件开发和app开发的区别
  • 邯郸质量一站式服务平台上线如何做国外销售网站
  • 内蒙古工程建设协会网站sem优化策略
  • Linux网站建设总结建设电子商务平台
  • 公司网站背景图片课程网站如何建设
  • 用js做简单的网站页面互联网技术对人力资源管理的影响有哪些
  • 银川做网站贵德县wap网站建设公司
  • 深圳网站建设zvge山西省煤炭基本建设局网站
  • 佛山网页网站设计线上怎么做推广和宣传
  • 多个域名绑定同一个网站案例
  • 建设网站都需要准备什么代理加盟微信网站建设
  • 网站备案没有了wordpress 添加按钮
  • 湖南建设银行宣传部网站福田蒙派克空调滤芯安装位置图