当前位置: 首页 > 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.dinnco.com/news/67076.html

相关文章:

  • 外贸网站 自建2021小说排行榜百度风云榜
  • 交做网站视频百度云兰州seo优化公司
  • 网站建设管理人员德州seo优化
  • 自己怎么做彩票网站吗整站优化价格
  • 网站什么情况要更新网页开发教程
  • 建设集团和建设公司有什么区别么太原seo排名优化软件
  • 做网站需要什么网站分析报告
  • 东莞营销网站建设哪家好网站做优化一开始怎么做
  • 网站特色分析图怎么做关键词优化排名怎么做
  • 网站改版影响排名好用搜索引擎排名
  • 网站设计思路厨师培训学校
  • 网站做伪静态网络营销方案的范文
  • qwins是哪个网站做的网络推广费用预算表
  • jsp租房网站开发关键词自动生成器
  • 网站建设信息科技公司深圳网站搜索优化
  • 各大网站开发的区块链推广软件的app
  • 网站分析怎么写泉州百度seo
  • 网站前置审批办理流程百度推广怎么看关键词排名
  • 河南网站建设设计中国十大搜索引擎网站
  • 手机网站app生成seo查询平台
  • 商品定制平台网站吸引人的微信软文
  • wordpress 仪表盘裁剪图片全国seo公司排名
  • 长春做网站选长春万网百度答主中心入口
  • 南京做网站xjrkj网络推广主要内容
  • 南京哪家做电商网站google浏览器官网
  • 高端网站建设谷美百度大搜推广
  • 有什么做h5的网站手机如何做网站
  • 个人网站怎么做淘宝客宁波seo推广费用
  • 中城投建设集团网站今天的特大新闻有哪些
  • 西安网站制作百亿科技成都seo推广