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

商业网站的建设流程/市场营销公司排名

商业网站的建设流程,市场营销公司排名,长沙零基础学快速建站,软件开发工程师级别最近在看算法导论, 觉得有些东西可以记录下-》这篇文章只是为了记录。 1. 链表的特点 链表是一个非常常用的数据结构,其有如下几个基本特点: 1. 其内存空间是线性但是非连续的。 2. 对于插入和删除有O(1)的时间复杂度 3. 不能被索引化 4. 查找…

最近在看算法导论, 觉得有些东西可以记录下-》这篇文章只是为了记录。

 

1. 链表的特点

链表是一个非常常用的数据结构,其有如下几个基本特点:

1. 其内存空间是线性但是非连续的。

2. 对于插入和删除有O(1)的时间复杂度

3. 不能被索引化

4. 查找慢

 

2. 简单的链表实现

2.1 链表的内存模型

一个典型的双向链表包含一个关键字域,一个前驱,一个后继。

其结构源码如下所示:

 typedef struct _List 
{_List*	prev;int		value;_List*	next;
}List;

 

 

 

2.2 链表的创建

下面是一个创建n个节点的链表。

 List* list_create( int n)
{List *head , *current;head = new List;head->value = 0;current = head;current->prev = NULL;List* temp;for (int i = 1; i < n; ++i){// i0temp =  new List;temp->value = i;temp->prev = current;current->next = temp;//i1current = current->next;}current->next = NULL;return head;
}

 

 2.3 节点的查找

 List* list_find(List*list, int value)
{List* current = list;while (current->next != NULL && current->value != value)current = current->next;return current;
}


时间复杂度为O(n), 这里能看出链表的查找为什么慢了。

 

2.4 链表的插入

 List* list_insert(List* list, List* current, List* node)
{if (current->prev == NULL){current->prev = node;node->prev = NULL;node->next = current; return node;}else if (current->next == NULL){current->next = node;node->prev = current;node->next =NULL;}else{List* temp = current->next; node->prev =current;node->next = temp; current->next = node; temp->prev = node;}return list;
} 

 

时间复杂度为O(1).

 

2.5 链表的删除

 void list_delete(List*node)
{if (node->prev == NULL){	node->next->prev = NULL;node->next = NULL;delete node;}else if (node->next == NULL){node->prev->next = NULL;node->prev = NULL;delete node;}else{node->prev->next = node->next;node->next->prev = node->prev;node->prev = NULL;node->next = NULL;delete node;}
}


时间复杂度为O(1);

2.6 测试代码

 #include "stdafx.h"
#include "List.h"
#include <iostream>
using namespace std; int _tmain(int argc, _TCHAR* argv[])
{//test for createList* listnode = list_create(10); //test for findcout<< "find" <<endl;List* findnode = list_find(listnode, 5);cout<< findnode->value<<endl; // test for insertList* newnode = new List;newnode->value    = 100;cout << "insert middle" <<endl;List* newlsit = list_insert(listnode,findnode, newnode); cout << "insert begin"<<endl;newlsit = list_insert(listnode,listnode,newnode);for (int i = 0; i < 11; ++i){cout<<newlsit->value<<endl;newlsit = newlsit->next;}//test for deletecout <<"delete"<<endl;list_delete(findnode);for (int i = 0; i < 11; ++i){cout<<listnode->value<<endl;listnode = listnode->next;}return 0;
}

 

 

3 . 小结

    这篇文章的主要目的就是为了把写的东西记录下来, 现在记录完毕了。

转载于:https://www.cnblogs.com/sld666666/archive/2010/07/17/1779640.html

http://www.lbrq.cn/news/1413253.html

相关文章:

  • 网站制作客户寻找/申请域名的方法和流程
  • 网站怎么做seo、/上海服务政策调整
  • 成都哪里有做网站建设的/成都seo网络优化公司
  • 做网站生意不赚钱/网站权重查询工具
  • 年报是否就是在工商网站做的/怎么搭建一个网站
  • 自己在线制作logo免费下载/百度爱采购怎么优化排名
  • 网站建设 php/做网站推广
  • 什么网站可以接模具做/百度竞价入门教程
  • 哈尔滨自助建站系统/百度搜图匹配相似图片
  • wordpress如何上传视频/湖南正规seo优化
  • 网站的登录注册页面怎么做/万网域名注册官网查询
  • 专业的医疗网站建设/推广营销
  • 网站建设公司该如何选择/bt kitty磁力猫
  • 有免费做理化试验的网站吗/seo英文
  • wordpress站点预览/如何做网络营销?
  • 临清设计网站/汕头网站建设公司哪个好
  • 南京教育网站开发/培训方案
  • 网站开发建设明细报价表/站长之家域名查询排行
  • 文件下载网站源码/win10一键优化工具
  • wordpress万能主题/超级seo外链
  • 在线商城平台/网站推广优化网址
  • 课外辅导东莞网站建设技术支持/seo查询爱站网
  • 建商城站用WordPress/域名归属查询
  • 济南国画网站建设/广州seo网站推广公司
  • 猎头公司是什么意思/seo项目
  • 武汉网站设计厂家/他达拉非片和伟哥区别
  • 怎么在记事本上做网站/百度关键词价格
  • 网站建设顺德/免费推广软件平台
  • 做网站的宽和高有限制吗/互联网营销师报名
  • 韩国风格网站整站源码/百度快速优化排名软件
  • 【音视频】瑞芯微、全志芯片在运动相机和行车记录仪产品分析
  • 【技术博客】480p 老番 → 8K 壁纸:APISR × SUPIR × CCSR「多重高清放大」完全指南
  • 大模型算法岗面试准备经验分享
  • 关于pygsp引发的一系列问题和实例小demo
  • 软件的终极:为70亿人编写70亿个不同的软件
  • vscode中用python调用matlab的函数(环境安装)