黑马程序员技术交流社区
标题:
程序员必知基础两大排序!
[打印本页]
作者:
毛豆豆
时间:
2015-8-11 11:00
标题:
程序员必知基础两大排序!
还有其他更快的排序方法,但是有点难理解。
这两种是初学者最好理解的,刚刚敲了一遍 分享给大家。
/*定义一个方法,对数组进行排序,先来简单的 选择和冒泡
选择:
用第一个数和其他的数比较,如果第一个数比其他数大,那么和第一个数交换位置,
否则,不交换,之后,继续用第一个数和之后的数比较,以此类推之后,会把最小的
数放到第一位,之后再拿第2个数比较,以此类推。
冒泡:
第一个数和第二个数比较,如果第一个数大于第二个数,则交换位置,否则,不交换,
继续拿第2个数和第3个数比较,以此类推,会把最大的数放到最后。之后,最后的的数
就不用参与运算,以此类推。
*/
class Test2
{
public static void main(String[] args)
{
System.out.println("Hello World!");
int[] arr = {2,1,4,7,3,5,8};
xzpx(arr);
printArray(arr);
System.out.println("---------------------");
mppx(arr);
printArray(arr);
}
public static void xzpx(int[] arr){
for(int a = 0;a < arr.length-1; a++){
for(int b = a+1;b< arr.length;b++){
if(arr[a]>arr[b]){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
}
}
public static void mppx(int[] arr){
for(int a = 0;a < arr.length-1;a++){
if(arr[a]>arr[a+1]){
int temp = arr[a];
arr[a] = arr[a+1];
arr[a+1] = temp;
}
}
}
public static void printArray(int[] arr){
System.out.print("[ ");
for(int a = 0;a < arr.length;a++){
System.out.print(arr[a]+" ");
}
System.out.println("]");
}
}
作者:
T-l-H、小生
时间:
2015-8-11 11:10
话说,楼主你的那个冒泡排序是不是少了点啥?
作者:
毛豆豆
时间:
2015-8-11 11:39
失误失误
冒泡排序错了。。
以下是改过来的冒泡
public static void mppx(int[] arr){
for(int a = 0; a<arr.length;a++){
for(int b= 0;b<arr.length-1-a;b++){
if(arr[b]>arr[b+1]){
int temp = arr[b];
arr[b] = arr[b+1];
arr[b+1] = temp;
}
}
}
}
作者:
kenfans
时间:
2015-8-11 12:17
应该说什么
作者:
黄蒙
时间:
2015-8-11 12:36
这些对于小数据还好用- -多一点的数据还是用快排省资源。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2