语言中,常用的算法有:冒泡排序、快速排序、插入排序、选择排序、希尔排序、堆排序以及归并排序等等。那么从这篇开始,我将分别总结下这几种排序法。 先交代一下,我们将要排序的数组定义为arr[N],即数组arr[]包含N个元素。 ## 冒泡排序法(Bubblesort) ## 所谓排序法 ...
冒泡排序法 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 分析: 第一次比较排序的结果:会把其中最大的数据排到最大的索引处 第二次比较排序后的结果:因为第一次已经把最大的一个数据放到了最大的索引的地方, 所以这次要进行比较的数据比数组里面的元素的数据个数 个,而第二大的数据也会排到第二大的索引处 第三次比较排序的结果:跟第二次差不多,只是这次要进行比较的数据比数组里面的元素 ...
2016-09-16 23:02 0 4346 推荐指数:
语言中,常用的算法有:冒泡排序、快速排序、插入排序、选择排序、希尔排序、堆排序以及归并排序等等。那么从这篇开始,我将分别总结下这几种排序法。 先交代一下,我们将要排序的数组定义为arr[N],即数组arr[]包含N个元素。 ## 冒泡排序法(Bubblesort) ## 所谓排序法 ...
冒泡排序法: 概念: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序 ...
冒泡排序算法原理 1、进行比较相邻的元素,如果第一个元素比第二个元素大,swap(a1,a2); 2、对每一对相邻元素做相同的工作(一共做n - 1次),从最开始的一对到结尾的一对。 每次循环都会找出最后n - 1 - i个元素位的最大值元素。 3、重复上述步骤,直到 ...
...
由此可见:N个数字要排序完成,总共进行N-1趟排序,每第 i 趟的排序次数为 (N-i) 次,所以 可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即 for(inti=0;i<arr.length-1;i++ ...
“冒泡排序法”可以将一个无序的数组按照从小到大的顺序或者是从大到小的顺序进行排序,是一种较为常见的排序算法,因为数据从小到大或者从大到小地到数列头或者数列末的过程称为“冒泡”。对于冒泡排序我觉得最重要的两点就是:(1)需要重新排序的次数,即循环的次数,这个是根据数组的序列的大小来定的,比如数 ...
这不是个新鲜的话题,是自己之前一直理解错了. int a[10] ={2,4,1,0,9,5,7,6,8,3}; 选择法排序: 第一次循环.a[0] 比较所有的的元素,最小的,跟a0交换 第二次循环,找到剩下的最小的,跟a1 ...
冒泡排序法 是数组等线性排列的数字从大到小或从小到大排序。 以从小到大排序为例。 数据 11, 35, 39, 30, 7, 36, 22, 13, 1, 38, 26, 18, 12, 5, 45, 32, 6, 21, 42, 23 使用 数组 int [] array 存储数字 ...