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

创建好网站如何把浏览临海建设银行网站

创建好网站如何把浏览,临海建设银行网站,海口专业做网站公司哪家好,咨询公司排行榜List.h 相较于之前的顺序表和单向链表&#xff0c;双向链表的逻辑结构稍微复杂一些&#xff0c;但是在实现各种接口的时候是很简单的。因为不用找尾&#xff0c;写起来会舒服一点。&#xff08;也可能是因为最近一直在写这个的原因&#xff09; #pragma once #include<std…

List.h

相较于之前的顺序表和单向链表,双向链表的逻辑结构稍微复杂一些,但是在实现各种接口的时候是很简单的。因为不用找尾,写起来会舒服一点。(也可能是因为最近一直在写这个的原因)

#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<stdbool.h>typedef int LTDataType;
typedef struct ListNode
{struct ListNode* prev;LTDataType data;struct ListNode* next;}LTNode;LTNode* LTInit();
void LTDestroy(LTNode* phead);
void LTPrint(LTNode* phead);
//bool LTEmpty(LTNode* phead);void LTPushBack(LTNode* phead, LTDataType x);
void LTPopBack(LTNode* phead);void LTPushFront(LTNode* phead, LTDataType x);
void LTPopFront(LTNode* phead);
//在pos位置之后插入数据
void LTInsert(LTNode* pos, LTDataType x);
void LTErase(LTNode* pos);
LTNode* LTFind(LTNode* phead, LTDataType x);

List.c

在实现接口的时候,除了没有找尾,其他的操作和单向链表是差不多的,这里就不多说了。(注意代码里的注释)

#define _CRT_SECURE_NO_WARNINGS 1#include"List.h"LTNode* BuyNode(LTDataType x)
{LTNode* node = (LTNode*)malloc(sizeof(LTNode));if (node == NULL){perror("malloc is fail!");exit(1);}node->data = x;node->prev = node->next = node;return node;
}LTNode* LTInit()
{LTNode* phead = BuyNode(-1);return phead;
}void LTPrint(LTNode* phead)
{assert(phead);LTNode* pcur = phead->next;while (pcur != phead){printf("%d->",pcur->data);pcur = pcur->next;}printf("\n");//注意换行
}void LTPushBack(LTNode* phead, LTDataType x)
{assert(phead);LTNode* newnode = BuyNode(x);newnode->prev = phead->prev;newnode->next = phead;newnode->prev->next = newnode;phead->prev = newnode;
}void LTPopBack(LTNode* phead)
{assert(phead && phead->next != phead);//第二个很容易忽视!LTNode* del = phead->prev;del->prev->next = phead;phead->prev = del->prev;free(del);del = NULL;
}void LTPushFront(LTNode* phead, LTDataType x)
{assert(phead);LTNode* newnode = BuyNode(x);phead->next->prev = newnode;newnode->next = phead->next;phead->next = newnode;newnode->prev = phead;
}void LTPopFront(LTNode* phead)
{assert(phead && phead->next != phead);LTNode* del = phead->next;del->next->prev = phead;phead->next = del->next;free(del);del = NULL;
}LTNode* LTFind(LTNode* phead, LTDataType x)
{assert(phead && phead->next != phead);LTNode* pcur = phead->next;while (pcur != phead){if (pcur->data == x)//别忘了连等号!!!return pcur;pcur = pcur->next;}return NULL;
}void LTErase(LTNode* pos)
{assert(pos);pos->next->prev = pos->prev;pos->prev->next = pos->next;free(pos);pos = NULL;
}void LTInsert(LTNode* pos, LTDataType x)
{assert(pos);LTNode* newnode = BuyNode(x);pos->next->prev = newnode;newnode->next = pos->next;newnode->prev = pos;pos->next = newnode;
}void LTDestroy(LTNode* phead)//理论上这里应该传二级指针,但是为了保持接口的一致性,用一级。
{assert(phead);LTNode* des = phead->next;while (des != phead){LTNode* next = des->next;free(des);des = next;}free(phead);phead = des = NULL;
}

本博客旨在记录学习过程,以后忘了随时来看。

http://www.yayakq.cn/news/567262/

相关文章:

  • 毕设做购物网站容易吗网页设计有啥教程
  • 设计网站公司名称免费下载app软件正版
  • 网站当前位置怎么做专业网站开发哪里好
  • 中国建设银行假网站为什么做的网站有的有弹窗有的没有
  • 自己搭建服务器做网站公司做网站自己可以做
  • 网站建设正规公司美图秀秀网页版在线使用
  • 玉溪网站建设现状做网站用的什么语言
  • pc网站优化排名软件重庆大渝网官网
  • 泉州seo-泉州网站建设公司中国50大电商排名
  • 猪八戒网怎么做网站网站色彩搭配
  • 做站群的网站要备案吗石家庄建设工程招标办网站
  • 二级域名免费申请网站自媒体平台前十名
  • 做网站跟做APP哪个容易wordpress多站共享授权码
  • 如何创建网站目录苏州做公司网站设计的公司
  • 行政单位门户网站建设方案湖南常德石门县
  • 网站营销方式有哪些内容推广文案
  • 旅游网站开发费用制作网页最简单的软件
  • 做模板网站的公司公司经营范围 网站开发
  • 如何做中英版网站网站开发公司市场
  • 天河区网站制作免备案的网站空间
  • 文字做图网站做网站南京
  • 电子商务网站建设和维护wordpress内容付费
  • 南京整站优化上海营业执照网上申请
  • 杭州网站建设技术支持网站建设程序有哪些
  • 高端摄影网站模板html5炫酷网站
  • 黄冈网站建设 网络推广免费网站引导页
  • 做网站地图网站设计与网站建设
  • 山东大学网站设计与建设杭州搜索引擎推广排名技术
  • 网站服务器用哪个好wordpress 扣积分
  • 培训网站建设情况静态网页制作方法