1.双层for循环外层循环执行一次,内层循环会全部执行,总执行次数为"外层循环次数"*"内层循环次数"。案例31:输出结果:案例32:2.数组排序1)冒泡排序比较相邻的元素,将小的放到前面,大的放后面,比较一轮,会获取一个最大值在最后位置。案例33:输出结果:2)冒泡排序--轻泡..
分类:
编程语言 时间:
2015-05-21 19:46:06
阅读次数:
159
1.思想 同之前介绍的两种排序方式一样,冒泡排序也是最简单最基本的排序方法之一。冒泡排序的思想很简单,就是以此比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小的元素经过几次移动,会最终浮到水面上。举例分析说明一下,如下数据:2 7 4 6 9 1 首先比较最后两个数字,发现1比9小...
分类:
编程语言 时间:
2015-05-21 18:48:50
阅读次数:
95
1. 冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 1...
分类:
编程语言 时间:
2015-05-20 17:43:54
阅读次数:
158
说来惭愧,昨天面试的时候遇到快速排序的笔试题没答上来。搞java的长期接触的是业务方面的东西,特别是web方向的java,久而久之在学校里面学的最基本的一些东西给忘记了。网上搜索了这两种算法,基本都是当年书本的解释,个人不是很喜欢。现将自身强化后的解释描述出来,加强记忆,最近有面试的同志不妨看看。
1.冒泡排序
书本上的基本理念是左边元素跟右侧元素一个个对比,有更小的就交换。
我将此分...
分类:
编程语言 时间:
2015-05-20 00:37:38
阅读次数:
163
冒泡排序是数组的一个应用,冒泡排序是有两层for循环组成,外层的for循环是循环趟数,里层的for循环是循环每趟的次数,假设有n趟,趟数就等于n-1,次数就等于n-趟数,例:for (int i = 1; i a[j]) { ...
分类:
编程语言 时间:
2015-05-19 20:40:28
阅读次数:
126
各种排序算法的分析及java实现 排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,.....
分类:
编程语言 时间:
2015-05-19 10:09:43
阅读次数:
217
排序算法即是一种能将一串数据依照特定排序方式进行排列的一种算法。本文将简单介绍几种常用的排序算法,并给出源代码,仅供参考。
1.直接插入排序:是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐...
分类:
编程语言 时间:
2015-05-18 23:08:43
阅读次数:
223
快排是对冒泡排序的一种该进。
快排的思想
快排的思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都要比另一部分的所有数据小,之后整个排序的过程可以递归实现,从而让整个数据变得有序。...
分类:
编程语言 时间:
2015-05-18 23:00:45
阅读次数:
195
概述??冒泡排序法的基本思想:(以升序为例)含有n个元素的数组原则上要进行n-1次排序。对于每一躺的排序,从第一个数开始,依次比较前一个数与后一个数的大小。如果前一个数比后一个数大,则进行交换。这样一轮过后,最大的数将会出现称为最末位的数组元素。第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最大数,该数将称为倒数第二的数组元素……n-1轮过后,就完成了排序。
??快速排序是冒泡排序的一...
分类:
编程语言 时间:
2015-05-18 16:48:35
阅读次数:
145
冒泡排序: //降序 public static int[] bubbleSort(int[] array){ for(int i = 0; i = 0; j--){ int temp = array[j]; if...
分类:
编程语言 时间:
2015-05-16 20:24:35
阅读次数:
144