码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA-初步认识-第五章-数组-常见操作-排序的性能问题

时间:2017-10-01 00:12:47      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:变量   images   img   数据交换   src   image   排序   元素   性能   

一.

这里对前面的选择排序操作进行了深化,之前讨论的选择排序是将0角标上的数据和后面角标的数据一个个进行对比,不断地调换数据的位置,直到0角标上的数据是整个数组中的最小值。由于调换的次数较多,现在引发一个疑问,能不能直接将0角标的数据和最小数据进行对换(前提是知道最小数据的角标是多少)。

技术分享

之前的例子里,选择排序中,进行了三次比较调换数据,才使得角标0上的数据是最小的。现在要换个思路来解决相同的问题。

具体的操作是:先定义两个变量,为什么要定义两个变量?一个变量记录用于比较的元素num,一个变量记录角标值。

技术分享

思考:通过视频讲解,这里是开辟了两个新的变量作为记录的地方,然后在这两个变量上进行操作,比较的过程中,不对数组进行任何操作。经过所有的比较后,两个变量记录的是最小值和最小值的角标。最后,直接将数组中的,0角标的数据和4角标的数据进行数据交换。这个思路相较于之前的解题来说,进行了一个前期的铺垫。其实,我觉着这个思路的过程中,操作也挺多的。增加了比较记录的次数,减少了交换的次数。那两个变量是存储在栈内存中的。

技术分享

技术分享

技术分享

技术分享

 

JAVA-初步认识-第五章-数组-常见操作-排序的性能问题

标签:变量   images   img   数据交换   src   image   排序   元素   性能   

原文地址:http://www.cnblogs.com/wsw-bk/p/7616376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!