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

长春网站设计策划书wordpress 首页翻页

长春网站设计策划书,wordpress 首页翻页,godaddy wordpress主机,提升网站建设品质信息1. makefile——(注意:双向无头链表第一个节点的pre为空,最后一个节点的next为空) 单向无头链表只能找到后一个节点、双向无头链表前后节点都能找到 OBJ:doulink OBJSmain.c doublelink.c CClgcc$(OBJ):$(OBJS)$(CC) $^ -o $ .PH…

1. makefile——(注意:双向无头链表第一个节点的pre为空,最后一个节点的next为空)

                                        单向无头链表只能找到后一个节点、双向无头链表前后节点都能找到

OBJ:=doulink
OBJS+=main.c doublelink.c
CCl=gcc$(OBJ):$(OBJS)$(CC) $^ -o $@
.PHONY:
clean:rm $(OBJ)
test:valgrind --tool=memcheck --leak-check=full ./$(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.h>DouList *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.h"int 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.yayakq.cn/news/424668/

相关文章:

  • 中国临沂网站优化网站收录低
  • 做搜狗网站优化快速排网站建设cz35
  • 网站更新内容怎么做网站建设招标样本
  • 个人可以做的外贸网站个人网站可以做百度推广么
  • 福建省住房城乡建设部网站塑料模板多少钱一平方
  • 宿迁市建设局网站维修基金网站 逻辑结构
  • 山西省住房和城乡建设厅官方网站全屏网站宽度
  • 怎么建立自己网站视频wordpress 前台上传
  • 哈尔滨做网站巨耀公司wordpress文章头部
  • 外贸机械网站建设wordpress8小时前
  • 东莞网站建设开发价格termux安装wordpress
  • 贵阳网站制作策划网址导航网站如何做
  • 2003网站建设2019做网站
  • 有域名怎么做公司网站专门用来制作网页的软件是什么
  • 车票网站模板北京短视频培训学校
  • 国际物流东莞网站建设高德地图加拿大能用吗
  • 中国建设银行网站首页joy企业官网属于什么网站
  • 宁波seo网站排名优化太原快速排名
  • 河北省建设招标网站机械加工网名大全
  • 安庆市住房和建设厅网站首页制作网站培训学校
  • 深圳建设局官网站什么是营销型手机网站建设
  • 临沧网站建设ynyuewordpress 有什么用
  • 做购物网站写数据库的流程aws如何搭建wordpress
  • 网站排名 影响因素网站防红怎么做的
  • 未备案个人网站 如何挣钱个人网页设计图片大全
  • 成都企业建站公司在线咨询做网站建设工资多少
  • 免费的网站建造wordpress 文章去重
  • 企石镇网站仿做服务器搭建网站跑不满宽带
  • 网站建设分金手指专业十三宝安中心医院入职体检
  • 北京建站公司兴田德润信任省建设厅网站物业管理