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

怎么讲解网站产品推广方案模板

怎么讲解网站,产品推广方案模板,南阳教育论坛网站建设,陕西网站建设公司目录 1.顺序表的概念 2.静态顺序表的实现 总代码 3.stl库动态顺序表vector 测试代码 1.顺序表的概念 要理解顺序表,我们要先了解一下什么是线性表 线性表是n个具有相同特征的数据元素的序列 这就是一个线性表 a1是表头 a4是表尾 a2是a3的前驱 a3是a2的后继 空…

目录

1.顺序表的概念

2.静态顺序表的实现

总代码

3.stl库动态顺序表vector

测试代码


1.顺序表的概念

要理解顺序表,我们要先了解一下什么是线性表

线性表是n个具有相同特征的数据元素的序列

这就是一个线性表 a1是表头 a4是表尾 a2是a3的前驱 a3是a2的后继

空表表示一个元素也没有,用空寂表示

用顺序存储的方式实现的线性表就叫顺序表

用链式存储的方式实现的线性表就是链表

2.静态顺序表的实现

由于实现动态顺序表要很多很多delete和new,消耗很多的时间复杂度,而且我们已经有vecor这个东西了,所以我们就不实现动态的顺序表了,我们只实现一下静态顺序表

创建静态顺序表

const int N = 1e6 + 10;
int a[N],n;

静态顺序表的尾插

void push_back(int x)
{a[++n]=x;
}

测试尾插

由此可见,尾插的时间复杂度为O(1)

静态顺序表的头插

void push_front(int x)
{//我们头插要把所有元素向右移动一位,给我们要插入的元素腾出位置出来//但是如果我们从第一个元素右移,就会有覆盖的情况,所以我们从最后一个元素开始右移//把[1,n]的元素统一后移1位 for(int i = n;i>=1;i--){a[i+1] = a[i];} a[1] = x;n++; 
}

头插的时间复杂度是O(N)

测试头插

任意位置插入

void insert(int p,int x)
{//和我们头插保持一致,在p之前插入 ,头插是在下标为0之前插入//把[p,n]的元素统一右移 for(int i =n;i>=p;i--) {a[i+1] = a[i];}a[p] = x;
}

最坏情况下就是头插,所以我们的时间复杂度还是O(N)

测试任意位置插入

尾删

我们直接把有效元素减1,就能实现尾删操作,我们尾删的时间复杂度是O(1)

void pop_back()
{n--;} 

测试尾删

头删

void pop_front()
{for(int i = 2;i<=n;i++){a[i-1] = a[i];}n--;}

我们头删的时间复杂度是O(N)

测试代码

任意位置删除

void erase(int p)
{for(int i = p+1;i<=n;i++){a[i-1] = a[i];}n--;
}

按值查找

int find(int x)
{for(int i = 1;i<=n;i++){if(a[i]==x)return i;}
return 0;
}

测试查找操作

按位查找

int at(int p)
{return a[p];
}

清空操作

void clear()
{n = 0;
}

修改操作

void change(int p,int x)
{a[p] = x;
}

总代码

#include <iostream>
using namespace std;const int N = 1e6 + 10;
int a[N],n;
void push_back(int x)
{a[++n]=x;
}
void push_front(int x)
{//我们头插要把所有元素向右移动一位,给我们要插入的元素腾出位置出来//但是如果我们从第一个元素右移,就会有覆盖的情况,所以我们从最后一个元素开始右移//把[1,n]的元素统一后移1位 for(int i = n;i>=1;i--){a[i+1] = a[i];} a[1] = x;n++; 
}
void insert(int p,int x)
{//和我们头插保持一致,在p之前插入 ,头插是在下标为0之前插入//把[p,n]的元素统一右移 for(int i =n;i>=p;i--) {a[i+1] = a[i];}a[p] = x;
}
void pop_back()
{n--;} 
void Print()
{for(int i = 1;i<=n;i++){cout << a[i] << " ";}cout << endl;
}
void pop_front()
{for(int i = 2;i<=n;i++){a[i-1] = a[i];}n--;}
void erase(int p)
{for(int i = p+1;i<=n;i++){a[i-1] = a[i];}n--;
}
int find(int x)
{for(int i = 1;i<=n;i++){if(a[i]==x)return i;}return 0;
}
void clear()
{n = 0;
}
void change(int p,int x)
{a[p] = x;
}int at(int p)
{return a[p];
}
int main()
{push_back(2);Print();push_back(5);push_back(1);push_back(3);Print();push_front(10);Print();insert(3,0);Print();
//	cout << "尾删" << ": ";
//	pop_back();
//	Print();
//	cout << "头删" << ": ";
//	pop_front();
//	Print();
//cout << "删除" << ":";
//erase(3);
//Print(); 
for(int i = 1;i<=10;i++)
{cout << "查找" << i << ":";cout << find(i)<<" ";} 
}

3.stl库动态顺序表vector

创建vector

除此之外,我们vector的<>里还可以放stl和各种数据类型,vector<int> a[5]表示的就是创建一个元素为vector <int>的数组

三种打印方式 1 size()返回元素个数

2.迭代器

3.范围for

resize(可以扩充元素个数,也可以缩容)

扩大的元素值默认为0

尾插和尾删,和上面静态的差不多的

不多陈述

empty()判空

front和back分别是取头元素和尾元素

clear()清空元素

测试代码

#include <iostream>
#include <vector>
using namespace std;
const int N = 10;
void Print(vector<int>& pa)
{//用size返回元素个数for (int i = 0; i < pa.size(); i++){cout << pa[i] << " ";}cout << endl;//用begin() end()迭代器
//	for (auto it = pa.begin(); it != pa.end(); it++)
//	{
//		cout << *it << " ";
//	}
//	cout << endl;
//	//范围for (C++11支持)
//	for (auto e : pa)
//	{
//		cout << e << " ";
//	}
//	cout << endl;
//}
}int main()
{vector <int> a1;//创建一个a1 的可变长数组,size为0vector <int> a2(N);//创建一个a2的可变长数组,size为N,元素值初始化为0vector <int> a3(N, 2);//创建一个a3的可变长数组,size为N 元素初始化为2vector <int> a4 = { 1,2,3,4,5 };vector <string> s1;vector <int> a[5];vector <int> aa(5, 1);aa.resize(10);aa.resize(3);for (int i = 3; i <= 6; i++){a1.push_back(i);}Print(a1);a1.pop_back();cout << "头为" << a1.front() << "尾为" << a1.back();Print(a1);//while (!a1.empty())//{//	a1.pop_back();//}a1.clear();cout << a1.size() << endl;return 0;
}

http://www.zhongyajixie.com/news/26469.html

相关文章:

  • 昆山网站建设电话中山网站建设公司
  • 横岗做网站企业查询app
  • 哪个网站可以接广告做大兵seo博客
  • 广州购物商城网站国家认可的赚钱软件
  • 产品设计协作平台湖州seo排名
  • 网站做app有什么意义网站优化方案
  • 盘锦网站建设 盘锦建站推广 盘锦建站营销推广内容
  • 虚拟主机只能静态网站合肥做网站哪家好
  • 品牌商标购买网站企业推广文案范文
  • 新手网站怎么做站长联盟网上赚钱网络app推广是什么工作
  • 尼罗发表小说做的的网站是哪个宁波seo网页怎么优化
  • 建设h网站风险大吗百度最新秒收录方法2022
  • 做的网站为什么手机上搜不到企业新网站seo推广
  • 网站建设套餐价格做百度推广一个月多少钱
  • 做网站要求什么营销方案怎么写?
  • 电商网站业务流程图免费的郑州网络推广服务
  • 怎样做的网站内网外网都能用免费网站推广网站破解版
  • 网站开发数据如何转化web成品网站源码免费
  • 开发投资集团百度快照优化排名怎么做
  • 住建网查询资质一键查询潍坊网站建设优化
  • 农村电商网站建设方案爱站网注册人查询
  • 网站后期维护工作包括哪些百度指数搜索热度排行
  • 做代理能赚到钱吗泰州seo网络公司
  • 自适应网站建设优化建站steam交易链接在哪看
  • 宠物用品销售网站建设和技术现状建网站赚钱
  • b2b网站与虚拟网站有什么区别学it什么培训机构好
  • 百度验证网站操作客户关系管理
  • 深圳市住房和建设局网站住房保障关键词挖掘方法
  • 没企业可以做网站吗最有效的网络推广方式和策略
  • 中英文切换网站怎么做济南做网站公司哪家好