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

做购物网站多少钱 知乎环球网今日疫情消息

做购物网站多少钱 知乎,环球网今日疫情消息,武汉平台公司,盐城网站制作网络推广双向链表: 即可以从头遍历到尾部和从尾部遍历到头部的链表,每个结点包括两个链域:前驱指针域和后继指针域,所以比起单向链表,其可以在任意一个结点访问前后两个结点 关于双向链表的一个完整步骤为: 创建一个表头结构…

双向链表:

即可以从头遍历到尾部和从尾部遍历到头部的链表,每个结点包括两个链域:前驱指针域和后继指针域,所以比起单向链表,其可以在任意一个结点访问前后两个结点

关于双向链表的一个完整步骤为:

创建一个表头结构体,包括两个部分:指向表结点的指针,结点个数

创建表结点结构体,包括三部分:数据部分,指向前驱结点的指针,指向后继结点的指针。

//双向链表结点类型
typedef struct node
{DATA_TYPE data;           //数据域struct node *ppre;        //指向前驱结点的指针struct node *pnext;       //指向后继结点的指针
}DOU_NODE;
//描述双向链表属性的表头类型
typedef struct list
{DOU_NODE *phead;         //双向链表头结点地址int clen;                //当前链表结点个数
}DOU_LIST;

  双向链表也包括以下步骤:创建-插入-删除-查找-修改-销毁-遍历       

创建:

先用表头结构体定义一个表头函数,在函数中,继续用表头结构体定义一个指针P,指针大小为表头结构体的大小,同时让P的头结点地址指向空,个数初始化为0,最后将该指针返回。

DOU_LIST *create_dou_link()
{DOU_LIST *plist = malloc(sizeof(DOU_LIST));if (NULL == plist){perror("fail malloc");return NULL;}plist->phead = NULL;plist->clen = 0;return plist;
}
插入:
1.先用结点结构体定义一个结点函数,

函数中,用结点结构体定义一个指针P,大小为表头结构体的大小,P的前驱与后继指针都指向空,数据为输入函数的参数。

DOU_NODE *create_node(DATA_TYPE data)
{DOU_NODE *pnode = malloc(sizeof(DOU_NODE));if (NULL == pnode){perror("fail malloc");return NULL;}pnode->data = data;pnode->pnext = NULL;pnode->ppre = NULL;return pnode;
}
2.将返回的结点与表头链接

先判断表头是否指向空值,如果指向,则将表头的指针赋值为结点,如果不指向空值(即不是空链表),则新结点的后端指向表头的头(即旧结点)(1),表头的头的前驱指向新结点(2),表头的头指向结点(3),clen加一:

代码如下:

int push_head_dou_link(DOU_LIST *plist, DOU_NODE *pnode)
{if (NULL == plist || NULL == pnode){return -1;}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;
}
删除:

用结点结构体创建一个指针,其值初始化为表头的头(即所有结点),表头的头指向新的指针的下一个结点(即空出一个结点),用free函数释放新指针,同时clen减一。

nt pop_head_dou_link(DOU_LIST *plist)
{if (is_empty_dou_link(plist)){return 0;}DOU_NODE *ptmp = plist->phead;plist->phead = ptmp->pnext;if (NULL != plist->phead){plist->phead->ppre = NULL;}free(ptmp);plist->clen--;return 0;
}
遍历、销毁:

遍历的步骤为:用结点的结构体定义一个结点指针,初始化值为表头的头,然后打印结点指针的data,使结点指针的值等于结点指针的后驱结点,然后循环以上步骤即完成了遍历(正向遍历)。打印结点指针的data,使结点指针的值等于结点指针的前驱结点,然后循环以上步骤即完成了反向遍历。

销毁即是只要表头不指向空,就一直进行删除操作,等表头指向空时,free表头即可。

查找、修改:

查找建立在遍历的基础上,首先定义一个结点指针,初始化值为表头的头,然后将输入的值(查找值)与结点指针的data对比,相同则返回该值,不同则使结点指针的值等于结点指针的后驱结点,并循环,直到相同为止。

修改步骤与查找相同,只不过是在找到后,把返回改为将结点指针的data修改为自己想改成的值。

http://www.shuangfujiaoyu.com/news/45259.html

相关文章:

  • 网站建设赚钱么杭州营销策划公司排名
  • 宝宝投票网站怎么做的网络推广违法吗
  • 广州免费建站找哪家软文什么意思范例
  • 自己如何做网站优化国际新闻直播
  • 做网站比较好的关键词排名优化易下拉技术
  • 哪个网站可以做微信推送中国纪检监察报
  • 三峡日报 做网站谷歌 翻墙入口
  • 富阳建设局网站首页网络营销与直播电商学什么
  • 青海城乡与建设厅网站今天重大国际新闻
  • 西安做网站公司那家好产品网络推广方案
  • 现在网站建设需要多少钱开发做一个网站需要多少钱
  • 网站空间一般有多大seo建站工具
  • 南宁seo标准南昌seo排名收费
  • 网站建设价钱百度企业官网认证
  • 引擎网站推广法怎么做网站建设推广
  • 南通专业做网站中国新冠一共死去的人数
  • 哪些做网站的公司中国楼市最新消息
  • 温州做网站百度云服务器
  • 做暧昧的小视频网站2企业网站是什么
  • 网站建设好不好模板网站建设
  • 东莞网站设计多少钱seo优化需要做什么
  • 哪些h5网站比较好可以免费做网站推广的平台
  • 西安电商平台网站建设搜索引擎营销总结
  • 广州高端网站制作公司哪家好百度一下你就知道主页
  • 电商网站怎样做seo关键词优化要多少钱
  • 泰安市住房建设局网站水果网络营销推广方案
  • 做游戏视频网站有哪些百度网站收录提交
  • 旅游响应式网站建设百度网盘下载安装
  • 网站同时做竞价和优化可以吗seo优化关键词排名优化
  • 中国建设工程招投标网站营销网站方案设计