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

做网站如何使用数据库深圳seo公司助力网络营销飞跃

做网站如何使用数据库,深圳seo公司助力网络营销飞跃,免费申请个人网站,没网站可以做快排吗链表的元素用数组存储, 用数组的下标模拟指针。 一、理解 如果有些程序设计语言没有指针类型,如何实现链表? 在使用指针类型实现链表时,我们很容易就可以直接在内存中新建一块地址用于创建下一个结点,在逻辑上&#x…
链表的元素用数组存储, 用数组的下标模拟指针。

一、理解

920f535ed6fb4749aa0ec28c423e3e43.png
如果有些程序设计语言没有指针类型,如何实现链表?
d35a05dc4dbc47c7a957df5068a2b4b8.png
在使用指针类型实现链表时,我们很容易就可以直接在内存中新建一块地址用于创建下一个结点,在逻辑上,我们好像链表是顺序的一样,我们根本不用管他们在内存中是如何存储的,直接“顺序”地遍历即可。
我们用静态链表,使用数组存储元素和下标,也想实现逻辑上是顺序的。实际上,我们只需要用数组模拟指针,我们在创建一个新结点时,只需要找到一块“空地”即可创建成功,我们在保证data不动的情况下,直接修改next数组就能实现指针的变换,即一旦创建成功数据的值就存在一个固定的位置,而是通过改变“存指针的数组”来改变指向。我们也不需要去考虑到底存在哪,逻辑上一样可以想象成和普通链表一样的。可以模拟为:
int new_place=find_empty();
data[new_place]=new_data;//利用空地“创建新节点”并赋值
next[last_place]=new_place;//链表中最后一个结点指向该结点
next[new_place]=-1;//新建结点指向为-1

同理,实现双向循环静态链表,使用left和right数组的下标就可以实现两个左右指针。

二、例题

例题:有若干个盒子,从左至右依次编号为
1,2,3,...,n。可执行以下指令(保证X不等于Y):
➢L X Y表示把盒子X移动到盒子Y左边(如果X
已在Y左边,则忽略该指令)。
➢R X Y表示把盒子X移动到盒子Y右边(如果X
已在Y右边,则忽略该指令)。
2c126bf2cd694be6a3314cca95b4ddcc.png
这里使用双向循环链表来实现。
vector<int> data(n+1);//留出一个头结点
vector<int> left(n+1);
vector<int> right(n+1);
for(int i=1;i<=n;++i){data[i]=i;//创建结点并赋值    if(i!=1)left[i]=i-1;//初始化左指针指向前一个结点(用下标模拟指针)else left[i]=n;if(i!=n)right[i]=i+1;//初始化左指针指向后一个结点(用下标模拟指针)else right[i]=1;
}
while(cin>>Direct>>x>y){//x和y虽然是盒子编号,但是data[x]就是盒子x,所以left[x]就是盒子x左边指向的盒子if(Direct=='L'||Direct=='R')if(Direct=='L'){while(right[x]!=y){//右边指向的盒子不等于y  1--2--1--2right[left[x]]=right[x];left[right[x]]=left[x];left[x]=right[x];right[x]=right[left[x]];left[right[x]]=x;right[left[x]]=x;}}else{while(left[x]!=y){right[left[x]]=right[x];left[right[x]]=left[x];right[x]=left[x];left[x]=left[left[x]];right[left[x]]=x;left[right[x]]=x;}}
}
int i=1;
while(i!=-1){cout<<"盒子编号:"<<data[i]<<endl;i=right[i];
}

 

http://www.mmbaike.com/news/45135.html

相关文章:

  • 新疆建设教育协会网站企业网站模板源码
  • 做app护肤网站正规的培训机构有哪些
  • 扮家家室内设计平台新网站seo外包
  • 国家税务总局网站百度seo优化软件
  • 提供邢台企业做网站百度竞价系统
  • 如何开发电子商务网站阿里巴巴官网首页
  • 三水网站建设首选公司360推广登陆入口
  • 网站开发就业趋势网络营销推广案例
  • 南阳做网站的湖南seo网站开发
  • 网站开发中存在的问题企业查询网
  • 昆明住房和城乡建设部网站怎么优化网站关键词的方法
  • 咸秧草做哪些网站网站维护是做什么的
  • wordpress 中英文切换seo优化主要工作内容
  • 建设一个能看视频的网站外贸网站平台哪个好
  • 网站建设需要哪些方面友情链接代码模板
  • 学网站开发c十大外贸电商平台
  • 如何开发手机端网站大数据培训包就业靠谱吗
  • 微信自创小程序谷歌seo培训
  • 泰安推广工作室seo网站关键词优化报价
  • 建设学校网站多钱网站推广seo教程
  • 做网站的那家公司好seo门户
  • 网站首页排名seo搜索优化河南省干部任免最新公示
  • bootstrap构建自己的网站seo技术培训班
  • 自有电脑做网站服务器免费建设网站平台
  • 可信赖的做pc端网站产品推广方法有哪些
  • 做网站得做多少网页百度网站排名查询工具
  • 做水果网站弄个什么名字免费二级域名平台
  • 怎样做二维码链接到网站上项目营销策划方案
  • 备案网站建设方案书seo标题优化是什么意思
  • 网站怎么换域名国内搜索引擎