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

搜狐快站生成app公司标志设计

搜狐快站生成app,公司标志设计,seo营销推广费用,网页设计素材景区结束链表是一种物理存储单元上非连续、非顺序的存储结构#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点#xff08;链表中每一个元素称为结点#xff09;组成#xff0c;结点可以在运行时动态生成。每个结点包括两个部分#xff1a;一个是…链表是一种物理存储单元上非连续、非顺序的存储结构数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点链表中每一个元素称为结点组成结点可以在运行时动态生成。每个结点包括两个部分一个是存储数据元素的数据域另一个是存储下一个结点地址的指针域。   优点可以克服数组链表需要预先知道数据大小的缺点链表结构可以充分利用计算机内存空间实现灵活的内存动态管理。缺点链表失去了数组随机读取的优点同时链表由于增加了结点的指针域空间开销比较大。  一般链表中只有一个表头元素不是顺序存储的不能随机访问元素相互依赖串联而成  构造一个链表 首先创建两个模板类一个用来创建链表节点对象另一个用来创建链表 1 template typename Type class Node {2 public:3 Type data;4 NodeType *next;5 6 Node(const Type _data) {7 data _data;8 next nullptr;9 } 10 }; 11 12 template typename Type class LinkedList { 13 private: 14 NodeType *head; 15 public: 16 LinkedList() { 17 head nullptr; 18 } 19 ~LinkedList() { 20 NodeType *current_node head; 21 while (current_node ! nullptr) { 22 NodeType *delete_node current_node; 23 current_node current_node-next; 24 delete delete_node; 25 } 26 } 27 } 接下来给链表类添加如下的函数操作   插入函数 insert(node, index)将node插入到链表中下标为index的位置 实现方法 1. 遍历到链表中要插入的位置的前一位。 2. 令待插入结点的 next 指针指向插入位置的当前结点。 3. 令插入位置之前的当前结点的 next 指针指向待插入结点。 1 bool insert(NodeType * node, int index) {2 if (head nullptr) {3 if (index ! 0) {4 return false;5 }6 head node;7 return true;8 }9 if (index 0) { 10 node - next head; 11 head node; 12 return true; 13 } 14 NodeType * current_node head; 15 int count 0; 16 while (current_node - next ! nullptr count index - 1) { 17 current_node current_node - next; 18 count ; 19 } 20 if (count index - 1) { 21 node - next current_node - next; 22 current_node - next node; 23 return true; 24 } 25 return false; 26 } 遍历函数output()从头结点开始通过当前结点的指针找到下一节点直至表尾,并输出所有结点的值 实现方法 1. 定义一个用于遍历的变量初始指向头结点。 2. 输出遍历变量所在结点的值并更新遍历变量为当前结点的下一个结点。 3. 重复操作 2直到遍历完所有结点。 1 void output() {2 if (head nullptr) {3 return;4 }5 NodeType * current_node head;6 while (current_node ! nullptr) {7 cout current_node - data ;8 current_node current_node - next;9 } 10 cout endl; 11 } 删除函数delete_node(index)删除链表中下标为index的元素 实现方法 1. 从表头遍历找到要删除的位置的前一位。 2. 令删除位置前一个结点的next指针指向待删除位置后一个结点。 3. 删除结点。 1 bool delete_node(int index) {2 if (head nullptr) {3 return false;4 }5 NodeType * current_node head;6 int count 0;7 if (index 0) {8 head head - next;9 delete current_node; 10 return true; 11 } 12 while (current_node - next ! nullptr count index - 1) { 13 current_node current_node - next; 14 count ; 15 } 16 if (current_node - next ! nullptr count index - 1) { 17 NodeType * delete_node current_node - next; 18 current_node - next delete_node - next; 19 delete delete_node; 20 return true; 21 } 22 return false; 23 } 翻转函数reverse()翻转整个链表 实现方法 1. 定义一个用于遍历的指针初始指向头结点后一个结点。 2. 让头结点的 next 指针置空。 3. 从当前遍历指针所指的结点开始遍历链表将遍历到的结点 next 指针指向头结点。遍历过程中借助另外一个指针保存下一个遍历到的结点。 4. 重复步骤 3 直至表尾此时新的链表就是原链表反转后的链表。 1 void reverse() {2 if (head nullptr) {3 return;4 }5 NodeType * current_node, * next_node;6 current_node head - next;7 head - next nullptr;8 while (current_node ! nullptr) {9 next_node current_node - next; 10 current_node - next head; 11 head current_node; 12 current_node next_node; 13 } 14 }  转载于:https://www.cnblogs.com/xudongwei/p/7493092.html
http://www.pierceye.com/news/66027/

相关文章:

  • 提高网站权重的方法框架网站模板
  • 网站 中文版与英文版的后台有什么不同谷歌seo和百度seo的区别
  • 汉中住房和城乡建设部网站长春网络传媒做网站骗钱
  • 南昌网站推广¥做下拉去118cr长沙关键词排名软件
  • 网站制作怎样快速十大室内设计案例
  • 做网站主机要选好申请了域名 网站怎么建设呢
  • 南昌市 做网站的公司龙网网络推广软件
  • 网站运营建设的目标html5移动网站开发实例
  • 维护网站的一般方法网站开发图标下载
  • 青岛网站开发培训深圳建网
  • 茶陵网站建设北京网页设计公司兴田德润在那里
  • 关于美食网站的问卷调查怎么做哈密市住房和城乡建设局网站
  • 自建网站代理服务器免费金融发布网站模板下载
  • 新手学做网站代码百度站长工具网站提交
  • 重庆网站建设培训班小程序商店网址
  • 大学网站建设定制网站建设建设通账号
  • 中山百度网站推广重庆建设工程信息网官网安全监督信息网
  • 手机搭建个人网站百度竞价推广思路
  • 建站宝盒后台网站建设的可行性报告研究
  • 网站目标定义专业室内设计 网站
  • wordpress站长主题dede网站如何换源码
  • 做网站 没内容河北百度seo关键词
  • 网课系统软件网站建设费用什么是建设网站的主题
  • 在线生成多款表白网站是怎么做的网站空间虚拟主机续费
  • 可以注册邮箱的网站常德建设工程信息网
  • 怎么使用网站上的模板wordpress仿小刀主题
  • 网站怎么做跳转wordpress筛选
  • 中英文网站多少钱页面设计蓝色与什么颜色搭配最和谐
  • 做网站美工的理由网站设计和建设自考题
  • 济南网站建设公司大全wordpress打印文章