• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

线性表(顺序存储结构)

算法笔记 站点默认 7年前 (2019-09-22) 1147次浏览 0个评论

线性表的顺序存储结构(数组实现)

自己写的线性表

教材上的标准顺序表

例2.4 有一个顺序表L,假设元素类型是整型,设计一个尽可能高效的算法,以第一个元素为分界线(基准),将所有小于等于它的元素移到该基准的前面,将所有大于它的元素移到该基准的后面。

自己写的

我的想法很简单,只需要从左向右扫描比基准小于等于的数和从右向左扫描大于基准的数,当扫描到则立刻交换,继续扫描,直到两个扫描的标杆相遇。


运行结果:
5 0 2 3 1 3 7 4 6 8
——————————–
Process exited after 0.5798 seconds with return value 0
请按任意键继续. . .


我也就想到了这么一个办法,接下来看看书上给的方法吧。
书上的第一种解法思想和我的差不多,来看第二种
基本思想,i和j分别两个标杆,从表头和表尾出发,设i从左向右找比基准数大于的数,当找到时候将这个数给标杆j,然后标杆j从右向左找小于等于基准的数,当找到的时候给标杆i,当碰面后即停止循环。

有一个顺序表L,假设元素类型为整型,设计一个尽可能高效的算法,将所有的奇数移到到偶数的前面。

为了节约时间,我直接看了书上的两种解法
解法一:类似上面一题的解法一
解法二:标杆i取-1不动,标杆j从从左向右寻找奇数,当找到时直接交换两个标杆的值,标杆j到数组最后长度时,循环结束


3 7 1 5 3 8 2 4 6 0
——————————–
Process exited after 2.87 seconds with return value 0
请按任意键继续. . .


最后就是书上的练习了,续更ing


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:线性表(顺序存储结构)
喜欢 (4)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址