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

wordpress 纪念爱情seo实战优化

wordpress 纪念爱情,seo实战优化,自己做音乐网站挣钱吗,泊头建网站1、线性表的顺序存储表示定义: 线性表:是具有相同数据类型的n (n≥0)个数据元素的有限序列 顺序表:用顺序存储的方式实现线性表 顺序存储:把逻辑上相邻的元素存储在物理 位置上也相邻的存储单元中&#…

1、线性表的顺序存储表示定义:

线性表:是具有相同数据类型的n (n≥0)个数据元素的有限序列

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

顺序存储:把逻辑上相邻的元素存储在物理 位置上也相邻的存储单元中,元素之间的关 系由存储单元的邻接关系来体现。

ElemType :就是你的顺序表中存放的数据元素类型

2、顺序表的存储结构

2.1、顺序表的实现——静态分配

给各个数据元素分配连续的存储空间,大小为 MaxSize*sizeof(ElemType)

#include <stdio.h>
#define MaxSize 10 //定义最大长度typedef struct {int data[MaxSize]; //用静态的“数组”存放数据元素int length; //顺序表的当前长度
} SqList;// 初始化顺序表
void InitList(SqList &L) {L.length = 0; // 顺序表初始化长度为0
}int main(){SqList L; //声明一个顺序表InitList(L); //初始化顺序表//尝试 “违规 ” 打印整个 data 数组
//	printf("data[%d]=%d\n", L.data);for(int i=0;i<MaxSize;i++)printf("data[%d]=%d\n", i, L.data[i]);return 0;
}

2.2、顺序表的实现——动态分配

#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10 //定义最大长度typedef struct {int *data; //指示动态分配数组的指针int length;//顺序表的当前长度int MaxSize; //顺序表的最大容量
} SqList;void InitList(SqList &L){
//用 malloc 函数申请一片连续的存储空间
L.data=(int *)malloc(InitSize*sizeof(int));
L.length=0;
L.MaxSize=InitSize;
}//增加动态数组的长度
void IncreaseSize(SqList &L,int len){int *p=L.data;L.data=(int *)malloc((L.MaxSize+len)*sizeof(int));for(int i=0; i<L.length; i++){L.data[i]=p[i];//顺序表最大长度增加 len,时间开销大}L.MaxSize=L.MaxSize+len;free(p);//释放原来的内存空间}int main(){SqList L; //声明一个顺序表InitList(L); //初始化顺序表IncreaseSize(L,5);free(L.data);return 0;
}

3、顺序表中基本操作的实现

3.1、初始化

  • 顺序表的初始化操作就是构造个空的顺序表。
  • 为顺序表L动态分配个预定义大小的数组空间,使 elem 指向这段空间的基地址。
  • 将表的当前长度设为0。
  • 动态分配线性表的存储区域可以更有效地利用系统的资源 当不需要该线性表时 可以使用 销毁操作及时释放占用的存储空间。

【算法描述】

//构造一个空的顺序表L
Status Initlist(SqList &L){L.elem=new Elemrype [MAXSIZE];//为顺序表分配一个大小为 MAXSI2E的数组空间if(!L.elem)exit(OVERFLON);//存储分配失败退出L.length=0;//空表长度为 0return OK;
}

3.2、取值

  • 取值操作是根据指定的位置序号i, 获取顺序表中第i个数据元素的值。
  • 由于顺序存储结构具有随机存取的特点 可以直接通过数组下标定位得到,elem[-1]单元存储第i个数据元素。
  • 顺序表取值算法的时间复杂度为0(1)。
Status GetElem(SqList L,int i, ElemType &e)
{if {i<ll li>L.length) return ERROR; //判断i值是否合理,若不合理, 返回 ERRORe=L.elem[i-1]; //elem[i-1] 单元存储第i个数据元素return OK;
}i

3.3、查找

  • 查找操作是根据指定的元素值e, 查找顺序表中第1个与e相等的元素。若查找成功,则返回该元素在表中的位置序号;若查找失败,则返回0。

  • 从第一个元素起,依次和 e相比较,若找到与 e相等的元素 L.elem[i], 则查找成功,返回该元素的序号 i+1

  • 若查遍整个顺序表都没有找到,则查找失败, 返回0。

  • 顺序表按值查找算法的平均时间复杂度为 O(n)

int LocateELem(SqList L,ElemType e){//在顺序表工中查找值为e的数据元素,返回其序号for(i=0; i<L.length; i++)if(L.elem[i]==e)return i+l;  //查找成功,返回序号 i+1
return 0;            //查找失败,返回 0}

3.4、插入

顺序表的插入算法步骤:

顺序表插入算法的平均时间复杂度为 O(n)

Status Listinsert(SqList &L, int i, ElemType e)
{//在顺序表 L 中第 i 个位置之前插入新的元素 e, i值的合法范围是 1<=i<=L.length+lif ((i < l) || (i > L.length + l)) return ERROR;                       //i值不合法if (L.length == MAXSIZE) return ERROR;                       //当前存储空间已满for (j = L.length - 1; j >= i - 1; j--)L.elem[j + l] = L.elem[j];              //插入位置及之后的元素后移L.elem[i - l] = e;                          //将新元素e放入第l个位置++L.length;                                 //表长加1return OK;}

3.5、删除

顺序表的删除算法步骤

  • 判断删除位置 i 是否合法(合法值为 1 ≤ i ≤n), 若不合法则返回 ERROR。

  • 将第 i个至第n个的元素依次向前移动一个位置 (i = n时无需移动)

  • 表长减 1

  • 顺序表删除算法的平均时间复杂度为O(n)。

Status ListDelete(SqList &l int i)
{//在顺序表工中删除第i个元素,i.值的合法范闱是1≤i≤L.length
if((i<1)|l(i>L.length)) //i值不合法return ERROR;
for(j=i;j<-L.length-l;j++)L.elem[j-1]=L.elem[j];//被删除元素之后的元素前移
--L.length;//表长减 1
return OK;
}
http://www.dt0577.cn/news/28987.html

相关文章:

  • 怎么做赛事直播网站网络推广服务费
  • 腾讯云建设网站友情链接买卖平台
  • 网站做闪电电磁国产最好的a级suv
  • 东莞浩智专业网站建设哪家好数据分析师一般一个月多少钱
  • 公交公司网站建设的意义广州最近爆发什么病毒
  • 汕头行业网站电子商务网站设计方案
  • 中小企业网站的建设实践报告百度客服人工
  • 做网站注册什么性质的公司销售渠道
  • 太原营销型网站建设制作chrome浏览器下载安卓手机
  • 南充市房地产网官方网站搜索引擎营销的作用
  • 汉口网站推广优化怎么建网站详细步骤
  • 京东商城网上购物京东超市深圳网站seo外包公司哪家好
  • 小程序搭建多少钱一个永州网站seo
  • 淄博网站建设费用十大软件培训机构
  • 网站底部素材网站首页面设计
  • iis如何做网站管理器百度快速收录软件
  • 网站制作服务价格自己做网站
  • 网站 设计理念yandex网站推广
  • 网站怎么做子分类网站建设服务公司
  • 免费网站下载app软件查询网站
  • 怎么快速推广自己的产品重庆网站seo服务
  • 服务器和域名大概需要多少钱seo是什么级别
  • 商城网站模板 免费江苏网页定制
  • 什么是微网站系统哈尔滨优化网站方法
  • 给赌博网站做推广最新黑帽seo培训
  • 地方生活门户信息网站源码爱站网域名查询
  • 用wordpress复制一个网站搜索引擎优化搜索优化
  • 内蒙古包头做网站的公司新手怎么学电商运营
  • 南沙做网站公司全国推广优化网站
  • 手机好看网站模板免费下载八种营销模式