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

旅游网的网站建设/比优化更好的词是

旅游网的网站建设,比优化更好的词是,北京商城网站开发公司,上海网站建设制作百橙本程序List链表用两种方式实现,一种是双向链表,一种是双向循环链表。循环双向链表和双向链表,它们的编码差别很小;但是循环链表在插入效率上胜出很多,同时查询时候更灵活。综合考虑,循环链表是首选。 另外…

本程序List链表用两种方式实现,一种是双向链表,一种是双向循环链表。循环双向链表和双向链表,它们的编码差别很小;但是循环链表在插入效率上胜出很多,同时查询时候更灵活。综合考虑,循环链表是首选。

另外,不同于Windows上的ListEntry结构,本LIST结构没有链表头。对于链表头,各有各的说法,但是天下没有免费的午餐,某个地方得了好处,必然会在别的地方承担一定的损失。总之一句话,我个人的理念是,中间代码尽可能简单易用,以此链表头弃之不用。

非常简单的两种链表实现,主要是查询、插入、删除几个功能的实现,总共的cpp代码不过300行左右,在座的各位都是软件开发小能手,功能实现不再赘述。

完整工程代码:https://github.com/satadriver/dataStruct

头文件:

#pragma once#include "Element.h"#pragma pack(1)typedef struct  _LIST
{_LIST* prev;_LIST* next;ELEMENT* e;
}LIST;#pragma pack()class List {
public:List();~List();int insert(ELEMENT* e);int remove(ELEMENT* e);protected:LIST* search(ELEMENT* e);LIST* mList;int mSize;
};class CList {
public:CList();~CList();int insert(ELEMENT* e);int remove(ELEMENT* e);protected:LIST* search(ELEMENT* e);LIST* mList;int mSize;
};

循环双向链表实现代码如下:

int CList::clear() {LIST* l = mList;int cnt = 0;do{if (l == 0){break;}LIST* next = l;delete l->e;delete l;l = next;cnt++;} while (l != mList);return cnt;
}CList::CList() {mList = 0;mSize = 0;
}CList::CList(LIST* l) {mList = l;mSize = 0;
}CList::~CList() {if (mList){delete[] mList;mList = 0;}
}LIST* CList::search(ELEMENT* e) {LIST* list = mList;int cnt = 0;do{if (list == 0){break;}if (list->e->e == e->e){return list;}list = list->next;cnt++;} while (list != mList);return 0;
}int CList::insert(ELEMENT* e) {LIST* list = search(e);if (list){return 0;}list = new LIST;ELEMENT* e_new = new ELEMENT;memcpy(e_new, e, sizeof(ELEMENT));list->e = e_new;if (mList == 0){list->next = list;list->prev = list;mList = list;}else {LIST* prev = mList->prev;list->next = mList;list->prev = mList->prev;if (prev){prev->next = list;}mList->prev = list;}mSize++;return 1;
}int CList::remove(ELEMENT* e) {LIST* list = search(e);if (list == 0){return 0;}LIST* next = list->next;LIST* prev = list->prev;if (next){next->prev = prev;}if (prev){prev->next = next;}delete list->e;if (list == mList){if (mList->next == mList || mList->prev == mList){mList = 0;}else {mList = mList->next;}}delete list;int result = mSize;mSize--;return result;
}

双向链表实现代码:

List::List() {mList = 0;mSize = 0;
}List::List(LIST* l) {mList = l;mSize = 0;
}List::~List() {if (mList){delete[] mList;mList = 0;}
}LIST* List::search(ELEMENT* e) {LIST* list = mList;int cnt = 0;while (list){if (list->e->e == e->e){return list;}list = list->next;cnt++;}return 0;
}int List::insert(ELEMENT* e) {LIST* list = search(e);if (list){return 0;}list = new LIST;ELEMENT* e_new = new ELEMENT;memcpy(e_new, e, sizeof(ELEMENT));list->e = e_new;int cnt = 0;if (mList == 0){list->next = 0;list->prev = 0;mList = list;cnt++;}else {cnt++;LIST* tmp = mList;while (tmp->next){tmp = tmp->next;cnt++;}list->next = 0;list->prev = tmp;tmp->next = list;cnt++;}mSize = cnt;return cnt;
}int List::clear() {LIST* l = mList;int cnt = 0;do{if (l == 0){break;}LIST* next = l;delete l->e;delete l;l = next;cnt++;} while (l != mList);return cnt;
}int List::remove(ELEMENT* e) {LIST* list = search(e);if (list == 0){return 0;}LIST* next = list->next;LIST* prev = list->prev;if (next){next->prev = prev;}if (prev){prev->next = next;}delete list->e;if (list == mList){if (mList->next == 0){mList = 0;}else {mList = mList->next;}}delete list;int result = mSize;mSize--;return result;
}
http://www.jmfq.cn/news/5307805.html

相关文章:

  • 桂阳 网站建设/自己的网站怎么做seo
  • 山东建设部网站/鞍山网络推广
  • 武夷山住房和城乡建设部网站/郑州百度推广开户
  • 四川住房和城乡建设厅网站咨询电话/网络营销的定义
  • 郑州网站建设报价/西安百度推广网站建设
  • 怎么建设批量模板网站/今日头条号官网
  • 网站建设企业类型是什么/长沙关键词优化方法
  • 网站建设好还需投资吗/网络营销推广工作内容
  • 大学生网站建设小结/搜索引擎优化名词解释
  • 学校网站建设的好处/廊坊seo排名霸屏
  • 网站建设费需要缴纳印花税吗/合肥网站优化搜索
  • 本地服务器域名解析网站建设/百度手机助手网页版
  • 饭店的网站建设进行评价/网络营销计划书怎么写
  • 上海高端品牌网站建设/seo推广营销靠谱
  • 网站建设中主机放在哪里/微信朋友圈广告怎么推广
  • 天津市住房和城乡建设委员会网站/全国最好的广告公司加盟
  • 网站建设公司ejiew/怎么创作自己的网站
  • 武威市网站建设/建网站需要哪些步骤
  • 网站建设发布平台/seo网站推广主要目的不包括
  • 网站建设的实训总结/有友情链接的网站
  • 天猫网站的建设/免费友链平台
  • 微信公众号开发网站建设/高端seo服务
  • 雄安企业网站建设/淘宝店铺怎么推广和引流
  • 专业二维码网站建设/百度站长工具如何使用
  • 网站建设收费价目表/新闻摘抄大全
  • 南京医院网站建设/上海做网站优化
  • 昆山建设工程信息网站/今天有什么新闻
  • 高校二级网站建设意义/seo外链自动群发工具
  • 海外教育集团网站建设/石家庄seo网站排名
  • 检察院网站建设方案/18款禁用软件黄app免费