1、使用JavaApi文档中的Arrays类中的sort()进行快速排序

首先我们直接看代码如下:

 package himi.text;

 import java.util.Arrays;

 public class TestDemo01 {

     public static void main(String[] args) {
int[] array = {2,12,3,44,27};
/**
* 利用使用JavaApi文档中的Arrays类中的sort()进行快速排序
*/
Arrays.sort(array);//调用Array的静态方法Sort进行排序,升序排列
for(int show:array) {
System.out.print(show+" ");//升序输出
}
System.out.println();
System.out.println("---------------"); for(int i=0; i<array.length-1; i++)
System.out.print(array[array.length-1-i]+" ");//降序输出 } }

代码运行结果如下:

2.冒泡法排序:

冒泡法算法思路:如果有N个数,则要进行N-1次比较,在每一次比较中要进行N-1次两两比较。所谓的两两比较就是从头到尾将相邻两个数进行比较,并将其中较大的数放在前或者放在后(放在前就是降序,放在后就是升序)

 package himi.text;

 public class TestDemo02 {

     public static void main(String[] args) {
int[] arrays = { 12, 23, 8, 17, 5 };
bubbleSort(arrays);
for (int show : arrays)
System.out.print(show + " ");
} public static void bubbleSort(int[] array) {
int temp;
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
//方式1
// temp = array[j];
// array[j]=array[j+1];
// array[j+1]=temp; //方式2
array[j] = array[j] ^ array[j + 1];
array[j + 1] = array[j + 1] ^ array[j];
array[j] = array[j] ^ array[j + 1];
}
}
}
} }

输出结果:

3.选择排序:

首先以一个元素为基准,从一个方向开始扫描,比如从左到右扫描,以A[0]为基准,接下来从A[0]….A[9]中找出最小的元素,将其与A[0]交换。然后将其基准位置右移一位,重复上面的动作,比如,以A[1]为基准,找出A[1]~A[9]中最小的,将其与A[1]交换。一直进行到将基准位置移到数组最后一个元素时排序结束。

 package himi.text;

 public class TestDemo03 {

     public static void main(String[] args) {
int[] arrays = {12,23,8,17,5};
int[] temp = selectSort(arrays);
for(int show:temp)
System.out.print(show+" ");
} public static int[] selectSort(int[] args){//选择排序算法
for (int i=0;i<args.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<args.length ;j++ ){
if (args[min]>args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
} }

运行结果如下:

4.插入排序算法:

所谓插入排序法,就是检查第i个数字,如果在它的左边的数字比它大,进行交换,这个动作一直继续下去,直到这个数字的左边数字比它还要小,就可以停止了。插入排序法主要的回圈有两个变数:i和j,每一次执行这个回圈,就会将第i个数字放到左边恰当的位置去。

 package himi.text;

 public class TestDemo04 {

     public static void main(String[] args) {
int[] arrays = {12,23,8,17,5};
int[] temp = insertSort(arrays);
for(int show:temp)
System.out.print(show+" ");
}
public static int[] insertSort(int[] args){//插入排序算法
for(int i=1;i<args.length;i++){
for(int j=i;j>0;j--){
if (args[j]<args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
} }

运行结果:

最新文章

  1. 浅析call和apply的不同
  2. 使用Spring配合Junit进行单元测试的总结
  3. EXCEL datatable 根据列名自动写入到相应属性、字段或列中
  4. 关于JAVA应用中文字体显示小方框的问题解决
  5. CS加密算法
  6. objectC时间用法
  7. 开源了一个iOS输入控件【原】
  8. 百度贴吧的网络爬虫(v0.4)源码及解析
  9. git切换分支
  10. 通过spring 中的@Scheduled来执行定时任务
  11. 201521123098 《Java程序设计》第12周学习总结
  12. java spark-streaming接收TCP/Kafka数据
  13. iOS 11 &amp; iPhone X 适配资料集
  14. ORA-28002 -- oracle密码过期
  15. 网络1712--c语言第一次作业总结
  16. day20-面向对象编程、继承
  17. c#while循环注意continue的地方
  18. WPF的xaml中特殊字符表示
  19. Android学习笔记五:四大组件(转)
  20. Oracle 中包(Package)

热门文章

  1. PyCharm 5.0.3 快捷键
  2. The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files
  3. 【POJ2699】The Maximum Number of Strong Kings(网络流)
  4. 如何在sourcetree 下提交代码到gerrit上
  5. java基础随笔-overload和override
  6. UI设计师的 Android 备忘录
  7. translate函数使用
  8. JQuery中如何click中传递参数
  9. ubuntu安装jdk1.8
  10. [转]让程序在崩溃时体面的退出之SEH+Dump文件