1. 冒泡排序,
package 排序算法;
public class MaoPaoPaiXu {
public static void main(String[] args) {
int [] maopao= {1,3,45,3,7,2,5,65,12};
int temp;
/**
* 外循环轮 内循环比较
* 从第一个元素开始相邻的两个元素比较,把小的元素往前调或者把大的元素往后调
* */
for(int i=0;i<maopao.length-1;i++) {
for(int j=0;j<maopao.length-i-1;j++) {
/**稳定性排序:
* 排序前array[i]在array[j]前面排序后仍然在其前面,
* array[i]和array[j]指的是相等的元素,
* 改变稳定性:将:maopao[i]>maopao[j]改为;maopao[i]>maopao[j]
* */
if(maopao[j]>maopao[j+1]) {
temp=maopao[j];
maopao[j]=maopao[j+1];
maopao[j+1]=temp;
}
}
}
for(int mp:maopao) {
System.out.println(mp);
}
}
}
2.选择排序,
package 排序算法;
public class XuanZePaiXu {
public static void main(String[] args) {
// TODO Auto-generated method stub
/**
* 选择排序法 是对 定位比较交换法(也就是冒泡排序法) 的一种改进。
* 选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。
* 基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。
*
*
* 简单选择排序的基本思想:
* 第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;
* 第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;
* 以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,
* 使有序序列不断增长直到全部排序完毕。
* */
int [] choose= {1,3,45,3,7,2,5,65,12};
int temp;
for(int i=0;i<choose.length-1;i++) {
for(int j=i+1;j<choose.length;j++) {
if(choose[i]>choose[j]) {
temp=choose[i];
choose[i]=choose[j];
choose[j]=temp;
}
}
}
for(in
冒泡排序,选择排序,插入排序,快速排序,归并排序,计数排序,二分查找
最新推荐文章于 2022-11-03 17:46:41 发布