黑马程序员技术交流社区
标题:
排序方法小结—必背
[打印本页]
作者:
saghir
时间:
2015-4-13 23:10
标题:
排序方法小结—必背
/*冒泡排序*/
public static void bubbleSort(int[] arr)
{
for(int x=0;x< arr.length-1;x++)//for(itn x=arr.length-1;x>0;x--)
{
for(int y=0;y<arr.length-x;y++)//-x:让每一次比较的次数减少;-1让角标不越界
{
if(arr[y]>arr[y+1]
{
int temp = arr [y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
/*选择排序*/
public static void selectSort(int[] arr)
{
for(int x=0;x< arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y]
{
int temp = arr [x];
arr[x] = arr[y];
arr[y+1] = temp;
}
}
}
}
/*真实开发时用*/
Arrays.sort(arr);
printArray(arr);
/*
发现无论什么排序。都需要对满足条件的元素进行位置置换,对其封装成一个函数。
*/
public static void swap(int[] arr,int a,int b)\
{
int temp =arr[a];
arr[a] = arr [b];
arr[b] = temp;
}
/*希尔排序*/
package com.zuidaima.sort;
/**
*@author www.zuidaima.com
**/
public class ShellSort {
public static <T extends Comparable<? super T>> void shellSort(T[] array, int len) {
int d = len;
while (d > 1) {
d = (d + 1) / 2;
for (int i = 0; i < len - d; i++) {
if (array[i + d].compareTo(array[i]) < 0) {
T temp = array[i + d];
array[i + d] = array[i];
array[i] = temp;
}
}
}
}
public static void main(String[] args) {
Integer[] testArray = {23, 25, 12, 42, 35};
ShellSort.shellSort(testArray, 5);
System.out.println("The result is:");
for (Integer item : testArray) {
System.out.print(item);
System.out.print(' ');
}
}
}
/*快速排序*/
void quick_sort(int s[], int l, int r)
{
if (l < r)
{
//Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1
int i = l, j = r, x = s[l];
while (i < j)
{
while(i < j && s[j] >= x) // 从右向左找第一个小于x的数
j--;
if(i < j)
s[i++] = s[j];
while(i < j && s[i] < x) // 从左向右找第一个大于等于x的数
i++;
if(i < j)
s[j--] = s[i];
}
s[i] = x;
quick_sort(s, l, i - 1); // 递归调用
quick_sort(s, i + 1, r);
}
}
作者:
Grady
时间:
2015-4-13 23:49
楼主辛苦
作者:
yearn
时间:
2015-4-14 09:22
谢谢分享!
作者:
hui1130
时间:
2015-4-14 13:20
谢谢楼主分享
作者:
若果每天都努力
时间:
2015-4-14 13:51
先Mark一下
作者:
进击的华仔
时间:
2015-4-14 22:14
收藏了,虽然我只会前三个
作者:
kolyneh
时间:
2015-4-14 22:20
不错呀,赞一个
作者:
DxxD
时间:
2015-4-14 22:24
楼主辛苦。。。
作者:
516743738
时间:
2015-4-14 22:28
谢谢 收藏啦
作者:
自学小番薯
时间:
2015-4-14 22:33
不错不错~~
作者:
kayaking
时间:
2015-4-14 23:14
挺不错的
作者:
青蜂侠
时间:
2015-4-14 23:44
感谢楼主,好齐全
作者:
时过境迁
时间:
2015-4-14 23:51
理解了最好~
作者:
Richard926
时间:
2015-4-15 00:08
顶!!!!!
作者:
ulddfhv
时间:
2015-4-15 00:11
顶一个,谢谢分享。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2