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

网站建设如何在宣传部备案网站制作公司北京华网

网站建设如何在宣传部备案,网站制作公司北京华网,中国设计网站导航,网页设计课程心得体会500字双链表 1.双链表的实现1.1结口实现1.2申请结点1.3初始化双链表1.4打印双链表1.5尾插1.6尾删1.7头插1.8头删1.9计算大小1.10查找1.11pos位置插入1.12删除pos位置1.12删除双链表 全部码源 1.双链表的实现 1.1结口实现 #includestdio.h #includestdlib.h #inclu… 双链表 1.双链表的实现1.1结口实现1.2申请结点1.3初始化双链表1.4打印双链表1.5尾插1.6尾删1.7头插1.8头删1.9计算大小1.10查找1.11pos位置插入1.12删除pos位置1.12删除双链表 全部码源 1.双链表的实现 1.1结口实现 #includestdio.h #includestdlib.h #includeassert.htypedef int LTDateType; typedef struct ListNode {struct ListNode* next;struct ListNode* prev;LTDateType date; }LTNode;//创造结点 LTNode* BuyLTNode(LTDateType x);//初始化双链表 LTNode* LTInit();//打印双链表 void LTPrint(LTNode* phead);//尾插 void LTPushBack(LTNode* phead, LTDateType x);//尾删 void LTPopBack(LTNode* phead);//头插 void LTPushFront(LTNode* phead, LTDateType x);//头删 void LTPopFront(LTNode* phead);//计算 int LTSize(LTNode* phead);//查找 LTNode* LTFind(LTNode* phead, LTDateType x);//pos位置插入 void LTInsert(LTNode* pos, LTDateType x);//删除pos位置 void LTErase(LTNode* pos);//销毁双链表 void LTDestroy(LTNode* phead);1.2申请结点 //创造结点 LTNode* BuyLTNode(LTDateType x) {LTNode* node (LTNode*)malloc(sizeof(LTNode));if (node NULL){perror(malloc fail);exit(-1);}node-date x;node-next NULL;node-prev NULL;return node; }1.3初始化双链表 //初始化双链表 LTNode* LTInit() {LTNode* phead BuyLTNode(0);phead-next phead;phead-prev phead;return phead; }1.4打印双链表 //打印双链表 void LTPrint(LTNode* phead) {assert(phead);printf(phead);LTNode* cur phead-next;while (cur ! phead){printf(%d, cur-date);cur cur-next;}printf(\n); }1.5尾插 //尾插 void LTPushBack(LTNode* phead, LTDateType x) {assert(phead);LTNode* tail phead-prev;LTNode* newnode BuyLTNode(x);newnode-prev tail;tail-next newnode;newnode-next phead;phead-prev newnode; }1.6尾删 //尾删 void LTPopBack(LTNode* phead) {assert(phead);assert(phead-next ! phead);LTNode* tail phead-prev;LTNode* tailPrev tail-prev;free(tail);tailPrev-next phead;phead-prev tailPrev; }1.7头插 //头插 void LTPushFront(LTNode* phead, LTNode* x) {assert(phead);LTNode* newnode BuyLTNode(x);LTNode* first phead-next;phead-next newnode;newnode-prev phead;newnode-next first;first-prev newnode; }1.8头删 //头删 void LTPopFront(LTNode* phead) {assert(phead);assert(phead-next ! phead);LTNode* first phead-next;LTNode* second first-next;free(first);phead-next second;second-prev phead; }1.9计算大小 //计算 int LTSize(LTNode* phead) {assert(phead);int size 0;LTNode* cur phead-next;while (cur ! phead){size;cur cur-next;}return size; }1.10查找 //查找 LTNode* LTFind(LTNode* phead, LTDateType x) {assert(phead);LTNode* cur phead-next;while (cur ! phead){if (cur-date x)return cur;cur cur-next;}return NULL; } 1.11pos位置插入 //在pos位置插入 void LTInsert(LTNode* pos, LTDateType x) {assert(pos);LTNode* posPrev pos-prev;LTNode* newnode BuyLTNode(x);posPrev-next newnode;newnode-prev posPrev;newnode-next pos;pos-prev newnode; }1.12删除pos位置 //删除pos位置 void LTErase(LTNode* pos) {assert(pos);LTNode* posNext pos-next;LTNode* posPrev pos-prev;free(pos);posPrev-next posNext;posNext-prev posPrev; }1.12删除双链表 //销毁双链表 void LTDestroy(LTNode* phead) {assert(phead);LTNode* cur phead-next;while (cur ! phead){LTNode* next cur-next;free(cur);cur cur-next;}free(phead); }全部码源 List.h #includestdio.h #includestdlib.h #includeassert.htypedef int LTDateType; typedef struct ListNode {struct ListNode* next;struct ListNode* prev;LTDateType date; }LTNode;//创造结点 LTNode* BuyLTNode(LTDateType x);//初始化双链表 LTNode* LTInit();//打印双链表 void LTPrint(LTNode* phead);//尾插 void LTPushBack(LTNode* phead, LTDateType x);//尾删 void LTPopBack(LTNode* phead);//头插 void LTPushFront(LTNode* phead, LTDateType x);//头删 void LTPopFront(LTNode* phead);//计算 int LTSize(LTNode* phead);//查找 LTNode* LTFind(LTNode* phead, LTDateType x);//pos位置插入 void LTInsert(LTNode* pos, LTDateType x);//删除pos位置 void LTErase(LTNode* pos);//销毁双链表 void LTDestroy(LTNode* phead);List.c #includeList.h//创造结点 LTNode* BuyLTNode(LTDateType x) {LTNode* node (LTNode*)malloc(sizeof(LTNode));if (node NULL){perror(malloc fail);exit(-1);}node-date x;node-next NULL;node-prev NULL;return node; }//初始化双链表 LTNode* LTInit() {LTNode* phead BuyLTNode(0);phead-next phead;phead-prev phead;return phead; }//打印双链表 void LTPrint(LTNode* phead) {assert(phead);printf(phead);LTNode* cur phead-next;while (cur ! phead){printf(%d, cur-date);cur cur-next;}printf(\n); }//尾插 void LTPushBack(LTNode* phead, LTDateType x) {assert(phead);LTNode* tail phead-prev;LTNode* newnode BuyLTNode(x);newnode-prev tail;tail-next newnode;newnode-next phead;phead-prev newnode; }//尾删 void LTPopBack(LTNode* phead) {assert(phead);assert(phead-next ! phead);LTNode* tail phead-prev;LTNode* tailPrev tail-prev;free(tail);tailPrev-next phead;phead-prev tailPrev; }//头插 void LTPushFront(LTNode* phead, LTNode* x) {assert(phead);LTNode* newnode BuyLTNode(x);LTNode* first phead-next;phead-next newnode;newnode-prev phead;newnode-next first;first-prev newnode; }//头删 void LTPopFront(LTNode* phead) {assert(phead);assert(phead-next ! phead);LTNode* first phead-next;LTNode* second first-next;free(first);phead-next second;second-prev phead; }//计算 int LTSize(LTNode* phead) {assert(phead);int size 0;LTNode* cur phead-next;while (cur ! phead){size;cur cur-next;}return size; }//查找 LTNode* LTFind(LTNode* phead, LTDateType x) {assert(phead);LTNode* cur phead-next;while (cur ! phead){if (cur-date x)return cur;cur cur-next;}return NULL; }//在pos位置插入 void LTInsert(LTNode* pos, LTDateType x) {assert(pos);LTNode* posPrev pos-prev;LTNode* newnode BuyLTNode(x);posPrev-next newnode;newnode-prev posPrev;newnode-next pos;pos-prev newnode; }//删除pos位置 void LTErase(LTNode* pos) {assert(pos);LTNode* posNext pos-next;LTNode* posPrev pos-prev;free(pos);posPrev-next posNext;posNext-prev posPrev; }//销毁双链表 void LTDestroy(LTNode* phead) {assert(phead);LTNode* cur phead-next;while (cur ! phead){LTNode* next cur-next;free(cur);cur cur-next;}free(phead); }test.c #includeList.hvoid TestList1() {LTNode* plist LTInit();LTPushBack(plist, 1);LTPushBack(plist, 2);LTPushBack(plist, 3);LTPushBack(plist, 4);LTPushBack(plist, 5);LTPrint(plist);LTPopBack(plist);LTPrint(plist);LTPushFront(plist, 20);LTPrint(plist); }void TestList2() {LTNode* plist LTInit();LTPushBack(plist, 1);LTPushBack(plist, 2);LTPushBack(plist, 3);LTPushBack(plist, 4);LTPushBack(plist, 5);LTPrint(plist);LTPopFront(plist);LTPrint(plist);LTSize(plist); }void TestList3() {LTNode* plist LTInit();LTPushBack(plist, 1);LTPushBack(plist, 2);LTPushBack(plist, 3);LTPushBack(plist, 4);LTPushBack(plist, 5);LTPrint(plist);LTNode* pos LTFind(plist, 3);LTInsert(pos, 20);LTPrint(plist); }void TestList4() {LTNode* plist LTInit();LTPushBack(plist, 1);LTPushBack(plist, 2);LTPushBack(plist, 3);LTPushBack(plist, 4);LTPushBack(plist, 5);LTPrint(plist);LTNode* pos LTFind(plist, 3);LTErase(pos);LTPrint(plist); }int main() {TestList4();return 0; }不知不觉【数据结构初阶】双链表 以告一段落。通读全文的你肯定收获满满让我们继续为数据结构学习共同奋进!!!
http://www.hkea.cn/news/14394179/

相关文章:

  • 做网站编辑需要具备的素质网页设计模板html代码怎么写
  • 网站文件结构网站设计报告
  • 查房价的官方网站手机建设银行网站首页
  • 青海建设工程云网站网站选择语言怎么做
  • 简单网站制作实例简约个人博客html代码
  • wordpress 移动导航前端性能优化有哪些方法
  • 网站内容与目录结构图制作网页需要多少钱
  • 最近的seo网站优化排名温州网站建设公司电话
  • 参加网站建设项目人员保障体系一家做特卖的网站叫什么
  • 网站建设产品展示型的nginx wordpress样式丢失
  • 网站流量 转化率网站开发一般有几个服务器
  • 营销型外贸网站建设公司制作网站编程
  • 电商网站开发 知乎优化网站标题和描述的方法
  • asp是网站开发吗西安自助建站系统
  • 做网站自己买服务器网页设计版面划分
  • 虚拟主机控制面板怎么建设网站杭州seo外包
  • 网站后台如何添加附件网站后台配置
  • 手机咋做网站绥芬河建设工程网站
  • 上海网站建设怎么样百度seo工作室
  • 新沂网站设计wordpress页面权限
  • 建设通网站有法律自助网站建设系统软件
  • 如何选择网站的关键词专业的移动网站建设公司排名
  • 青岛网站制作案例建设工程评标专家在哪个网站登录
  • 昌吉州住房和城乡建设局网站网站主页和子页风格如何统一
  • 高端网站建设电话公司网站建设意见和建议
  • 网站seo优化方案陕西做网站公司
  • 免费的ai绘图网站有哪些如何在自己电脑上做网站
  • HTML5怎么做自适应网站彩虹云商城
  • 好的网站建设商家诸城网站建设报价
  • 郑州有免费建网站的公司吗php网站建设流程图