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

阿里云网站建设方案书填写网站建设公司成都

阿里云网站建设方案书填写,网站建设公司成都,区块链外包开发,电商营销渠道有哪些之前相关的文章 C语言#xff0c;链表 Linux内核链表 #什么是链表 链表是一种基本的数据结构#xff0c;之前我在C语言里面写过链表的知识#xff0c;现在延申到C#xff0c;不管是什么语言#xff0c;链表表示的是一种数据结构#xff0c;跟语言没有强相关性的。 如果我… 之前相关的文章 C语言链表 Linux内核链表 #什么是链表 链表是一种基本的数据结构之前我在C语言里面写过链表的知识现在延申到C不管是什么语言链表表示的是一种数据结构跟语言没有强相关性的。 如果我们需要实现一个链表首先最关键的就是节点一个节点表示链表的一个数据存储点链表是由很多个节点组成的。 链表还需要很多线把很多节点串联在一起可以用数组的特性串联也可以用指针串联。 /*节点类*/  class Node { public:DataType data;Node *next; };#链表头部 链表是一种数据结构跟数组一样和整型的数据一样都需要一个起始位置链表头就是这个起始位置链表头存在就表示链表存在链表头没有了那这个链表也就没有了。 链表头也是一个节点只是这个节点保存的是这个链表的起始位置 头节点有点意思它其实是不需要存储数据的所以data的值可有可无。 代码上我们可以这样写创建一个链表也就是创建一个链表头 LinkList::LinkList() {head  new Node;head-data  0;head-next  NULL;size  0; }#插入一个数据到链表中 如果是一个已经成型的链表我们要把一个数据插入到链表中我们需要有几个判断是从链表头插入还是链表尾部插入还是从链表的中间插入 — — 如果从链表头插入如下图 — — 如果从链表中间插入如下图 — — 如果从链表尾部插入如下图 — —代码实现 int LinkList::InsertLinklList(Node *data, int n) {Node *ptemp;if (this-head  NULL) {cout  链表为空  endl;return -1;}if (data  NULL) {cout  插入节点为空  endl;return -1;}/*头部插入*/ if (n2) {Node *pnew  new Node;pnew-data  data-data;pnew-next  this-head-next;this-head-next  pnew;this-size;return 0;}/*尾部插入*/ if (n  this-size) {ptemp  this-head;while (ptemp-next ! NULL) {ptemp  ptemp-next;}Node *pnew  new Node;pnew-data  data-data;pnew-next  NULL;ptemp-next  pnew;this-size;return 0;}else {/*中间插入*/ ptemp  this-head;for (int i  1; i  n; i) {ptemp  ptemp-next;}Node *pnew  new Node;pnew-data data-data;pnew-next  ptemp-next;ptemp-next  pnew;this-size;return 0;} }#完整的代码 #include string #include iostream using namespace std;/*节点类*/ class Node { public:int data;Node *next; };class LinkList { public:LinkList();/*构造函数*/~LinkList();/*析构函数*/int CreateLinkList(int size);/*新建一个链表*/int DestroyLinkList();/*销毁一个链表*/int TravalLinkList();/*遍历一个链表*/int InsertLinklList(Node *data, int n);/*向链表插入一个数据*/int DeleteLinklist(int n);/*删除链表中的某个值*/int GetLength();/*获取链表的长度*/bool IsEmpty();/*判断链表是否为空*/Node *head;/*链表头*/int size;/*链表长度*/ };LinkList::LinkList() {head  new Node;head-data  0;head-next  NULL;size  0; }LinkList::~LinkList() {delete head; }int LinkList::CreateLinkList(int n) {if (n0) {couterrorendl;return -1;}Node *ptemp  NULL;Node *pnew  NULL;this-size  n;ptemp  this-head;for(int i 0 ; in ; i){pnew  new Node;pnew-next  NULL;cout  输入第  i1  个节点值  endl;cin  pnew-data;ptemp-next  pnew;ptemp  pnew;}cout  创建完成  endl;return 0; }int LinkList::DestroyLinkList() {Node *ptemp;if (this-head  NULL) {cout  链表原本就为空  endl;return -1;}while (this-head){ptemp  head-next;free(head);head  ptemp;}cout  销毁链表完成  endl;return 0; }int LinkList::TravalLinkList() {Node *ptemp  this-head-next;if (this-head  NULL) {cout  链表为空  endl;return -1;}while(ptemp){cout  ptemp-data  -;ptemp  ptemp-next;}cout NULL endl;return 0; }int LinkList::InsertLinklList(Node *data, int n) {Node *ptemp;if (this-head  NULL) {cout  链表为空  endl;return -1;}if (data  NULL) {cout  插入节点为空  endl;return -1;}/*头部插入*/if (n2) {Node *pnew  new Node;pnew-data  data-data;pnew-next  this-head-next;this-head-next  pnew;this-size;return 0;}/*尾部插入*/if (n  this-size) {ptemp  this-head;while (ptemp-next ! NULL) {ptemp  ptemp-next;}Node *pnew  new Node;pnew-data  data-data;pnew-next  NULL;ptemp-next  pnew;this-size;return 0;}/*中间插入*/else {ptemp  this-head;for (int i  1; i  n; i) {ptemp  ptemp-next;}Node *pnew  new Node;pnew-data data-data;pnew-next  ptemp-next;ptemp-next  pnew;this-size;return 0;} }int LinkList::DeleteLinklist(int n) {Node *ptemp;Node *ptemp2;if (n  this-size) {cout  n太大  endl;return -1;}/*删头节点*/if (n  2) {ptemp  this-head-next;this-head-next  ptemp-next;free(ptemp);this-size--;return 0;}/*尾部删除*/if (n  this-size) {ptemp  this-head;for (int i  1; i  this-size;i) {ptemp  ptemp-next;}ptemp2  ptemp-next;ptemp-next  NULL;free(ptemp2);this-size--;return 0;}/*中间删除*/else{ptemp  this-head;for (int i  1; i  n; i) {ptemp  ptemp-next;}ptemp2  ptemp-next;ptemp-next  ptemp2-next;free(ptemp2);this-size--;return 0;} }int LinkList::GetLength() {return this-size; }bool LinkList::IsEmpty() {if (this-head  NULL) {return true;}else{return false;} }int main(void) {LinkList list;LinkList *plist  list;/*创建6个节点的链表*/plist-CreateLinkList(5);plist-TravalLinkList();/*向链表中插入一个数据*/Node temp;temp.data  77;temp.next  NULL;/*向0号位置插入一个节点*/plist-InsertLinklList(temp, 0);/*遍历整个链表*/plist-TravalLinkList();/*向尾部插入一个链表*/plist-InsertLinklList(temp, plist-GetLength()1);/*遍历整个链表*/plist-TravalLinkList();/*向5号位置插入一个链表*/plist-InsertLinklList(temp, 5);/*遍历整个链表*/plist-TravalLinkList();plist-DeleteLinklist(0);/*遍历整个链表*/plist-TravalLinkList();/*删除第二个节点*/plist-DeleteLinklist(4);/*遍历整个链表*/plist-TravalLinkList();/*删除整个链表*/plist-DestroyLinkList();system(pause);return (0); } #代码输出 输入第1个节点值 2 输入第2个节点值 22 输入第3个节点值 3 输入第4个节点值 44 输入第5个节点值 5 创建完成 2-22-3-44-5-NULL 77-2-22-3-44-5-NULL 77-2-22-3-44-5-77-NULL 77-2-22-3-77-44-5-77-NULL 2-22-3-77-44-5-77-NULL 2-22-3-44-5-77-NULL 销毁链表完成 请按任意键继续. . .推荐阅读 专辑|Linux文章汇总 专辑|程序人生 专辑|C语言 我的知识小密圈 嵌入式Linux 微信扫描二维码关注我的公众号 下面是我的僚机号欢迎大家关注   写代码的篮球球痴 微信扫描二维码关注我的公众号
http://www.pierceye.com/news/362586/

相关文章:

  • 365房产南京网站响应式wordpress主题
  • 上海网站建设 app开发佛山黄页企业名录
  • 网站优化文档天津建设厅网站
  • 网站建设自适应网站电商网站运营规划
  • 做网站如何报价泰州建设局网站质监站
  • 做家具网站电影网站做流量吗
  • 免费1级做看网站制作单页网站要网址
  • 网站返回首页怎么做的好看自贡网站优化
  • 自己的网站如何做推广wordpress积分与奖励
  • 产品包装设计网站网站建设 中企动力宜昌
  • 英语营销型网站建设北京pk10网站开发
  • 交换链接适合哪些网站东莞小程序开发制作
  • 医院网站建设网站阿里巴巴网站是用什么技术做的
  • 潍坊 餐饮网站建设淘宝seo优化
  • 樟木头镇网站建设公司WordPress企业响应式主题
  • 怎么给网站做备份呢怎么去建设微信网站
  • 成都各公司网站中小企业网站建设 论文
  • 广告网站建设实训报告做电商从哪里入手
  • 建电子商务网站需要多少钱做网站的简称
  • 制定网站推广方案网络营销网站分析
  • 商城网站系网站 png逐行交错
  • 陕西网站建设陕icp备免费虚拟机安卓
  • 优化教程网站推广排名东莞网站建设推广有哪些
  • 金阳建设集团网站电子商务系统 网站建设
  • 网站建设规模哪里有做app软件开发
  • 建站工具上市手机视频网站设计
  • 代做道具网站做地方门户网站不备案可以吗
  • 电子商务 网站前台功能想做微商怎么找厂家
  • 网站建设电子书做网站引入字体
  • 顺德建设网站公司分发平台