永发信息网

排序的三种方法

答案:1  悬赏:80  手机版
解决时间 2021-07-21 07:14
排序的三种方法,选择,交换,冒泡并举例
最佳答案

直接选择算法:


public class SelectSort{
public static void selectSort(int[] a){
int i, j, small;
int temp;
int n = a.length;


for(i = 0; i < n - 1; i ++){
small = i; //设第i个数据元素最小
for(j = i + 1; j < n; j ++) //寻找最小的数据元素
if(a[j] < a[small]) small = j; //记住最小元素的下标


if(small != i){ //当最小元素的下标不为i时交换位置
temp = a[i];
a[i] = a[small];
a[small] = temp;
}
}
}
public static void main(String[] args){
int[] test = {64,5,7,89,6,24};
int n = test.length;

selectSort(test);
for(int i = 0; i < n; i++)
System.out.print(test[i] + " ");
}
}


冒泡算法:


public class BubbleSort{
public static void bubbleSort(int[] a){
int i, j, flag=1;
int temp;
int n = a.length;


for(i = 1; i < n && flag == 1; i++){
flag = 0;
for(j = 0; j < n-i; j++){
if(a[j] > a[j+1]){
flag = 1;
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}

public static void main(String[] args){
int[] test = {64,5,7,89,6,24};
int n = test.length;

bubbleSort(test);
for(int i = 0; i < n; i++)
System.out.print(test[i] + " ");
}
}


快速排序算法:


public class QuickSort{
public static void quickSort(int[] a, int low, int high){
int i, j;
int temp;


i = low;
j = high;
temp = a[low]; //取第一个元素为标准数据元素


while(i < j){
//在数组的右端扫描
while(i < j && temp <= a[j]) j--;
if(i < j){
a[i] = a[j];
i++;
}


//在数组的左端扫描
while(i < j && a[i] < temp) i++;
if(i < j){
a[j] = a[i];
j--;
}
}
a[i] = temp;

if(low < i) quickSort(a, low, i-1); //对左端子集合递归
if(i < high) quickSort(a, j+1, high); //对右端子集合递归
}

public static void main(String[] args){
int[] test = {60,55,48,37,10,90,84,36};
int n = 8;

quickSort(test, 0, 7);
for(int i = 0; i < n; i++)
System.out.print(test[i] + " ");
}
}



然后在主函数里面创建对象,应用就好了!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
登陆火星,之后要想返回地球
求魔兽1个人能过的防守地图
汉南区武汉汉发园时尚餐厅(汉南店)地址在哪里
魔方可以拼4面吗
4岁的孩子就写字 ,有害处么
罗马数字1-100都是怎么写的?
哪个牌子的AMD 790GX主板好
当阳市宜昌东北手擀水饺地址在哪里啊
周杰伦真个汪雨晨谈恋爱了吗?
求一套DNF漫游完美加点
在那里可以买到男性延时外用喷剂美威玛??
人情能两全吗?
《咬文嚼字》咬文嚼字在文中如何理解
天龙八部、的帮定元宝店在那里啊!请高手指点
永定区张家界卡西雅面包坊这个地址怎么能查询
推荐资讯
英语翻译1.REALLY?Happy birthday to you!2.W
阿修罗应该拿什么武器拿什么装备
谁介绍几本好看的武侠小说啊!
听说项圈可以治病真的管用吗?
好有添加权限
个位叔叔、阿姨、哥哥、姐姐请您帮帮我吧!
建华区齐齐哈尔宏顺轩这个地址在什么地方,我
你认为领导叫你去做的工作不符规定,你如何处
为什么西宁骑自行车的人很少啊
关于德语不带zu的动词不定式
源汇区漯河派乐滋汉堡(柳江路店)这个地址怎么
龙山县湘西亨通宾馆这个地址在什么地方,我要
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?