package com.mzh.common;
public class TestSort {
/**
* 冒泡排序
* @param arr
* @return
*/
public static int[] bubbleSort(int[] arr){
int temp;
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
swap(arr,i,j);
}
}
}
return arr;
}
/**
* 选择排序
* @param arr
* @return
*/
public static int[] selectSort(int[] arr){
int minIndex=0;
for(int i=0;i<arr.length;i++){
minIndex=i;
for(int j=i+1;j<arr.length;j++){
if(arr[minIndex]>arr[j]){
minIndex=j;
}
}
swap(arr,i,minIndex);
}
return arr;
}
/**
* 交换两个元素的位置
* @param arr
* @param x
* @param y
*/
public static void swap(int[] arr,int x,int y){
int temp=0;
temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
/**
* 打印数组元素
* @param arr
*/
public static void printArr(int[] arr){
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
/**
* 测试
* @param args
*/
public static void main(String[] args){
int[] arr={2,6,3,8,7,1,5,9,11,30,-2,-10,0,34,70};
arr=selectSort(arr);
printArr(arr);
}
}
分享到:
相关推荐
//冒泡排序 for(int i=0;i;i++){ for(int j=i+1;j;j++){//注意j的开始值是i+1,因为按照排序规则,比a[i]大的值都应该在它后面 if(a[i] > a[j]){ int temp = a[j]; a[j] = a[i]; a[i] = temp; ...
选择排序 冒泡排序 插入排序 合并排序 快速排序算法原理及代码实现 不同排序算法时间效率的经验分析方法 验证理论分析与经验分析的一致性 当面临巨大数据量的排序的时候,还是优先选择合并排序算法和快速排序算法。...
一个简单的算法效率对比,实验证明,快速排序的效率比冒泡的效率高出很多啊!
C++排序算法之冒泡排序源码
Verilog/C++实现排序算法:Verilog/C++实现排序算法:冒泡排序、选择排序、并行全比较排序、串行全比较排序。
C#四种排序算法 冒泡排序 插入排序 选择排序 希尔排序 希尔排序是将组分段,进行插入排序.
最快的排序算法 C语言最简单的排序算法冒泡排序并返回排序前索引序号,排序算法数据结构
C语言排序算法之冒泡排序
C++ 排序算法之冒泡排序
7大排序算法(快速排序,冒泡排序,选择排序,归并排序,插入排序,希尔排序,堆排序)实现源码
C++排序算法之冒泡排序
六种内部排序算法比较:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。包含实验报告和源代码设计。
希尔排序,冒泡排序、快速排序递归排序,快速排序非递归排序,快速排序改进算法
排序算法之冒泡排序(图解)
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
数据结构之排序算法 包含目前所有排序方法: 1 快速排序 2 冒泡排序 3 堆排序 4 希尔排序 5 直接插入排序 6 直接选择排序 7 基数排序 8 箱、桶排序 9 归并排序
冒泡排序 简单选择排序 c语言基础 排序算法 数组操作 排序算法实验 简单的c语言程序 排序算法输出
自己刚刚开始学习排序算法,第一个排序算法:冒泡排序。以及在学习过程中做的一些笔记。
本文介绍了C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序 冒泡排序、选择排序、插入排序和希尔排序
收集到的经典排序算法,主要来源于开源中国社区发布共享的优质代码 包括冒泡,快速,插入等多种算法在内。