数组的几种排序方式
2016-04-15 11:12
225 查看
import java.util.Arrays;
class Demo{
public static void main(String[] args){
/* int[] arr = new int[3];
arr[0] = 123;
arr[1] = 456;
arr[2] = 789;
for(int i = 0; i < arr.length; i++){
System.out.println("数组中的值为:" + arr[i]);
}
*/
int[] arr = {3,8,100,50,888};
sort1(arr);
sort2(arr);
Sort3(arr);
int[] val = getMax(arr);
System.out.println("min"+val[0]);
System.out.println("max"+val[1]);
}
/*
数组排序 Arrays
*/
public static void sort1(int[] arr){
Arrays.sort(arr);
for(int i = 0; i < arr.length; i++){
System.out.println("sort1:arr====>"+arr[i]);
}
}
/*
冒泡排序
*/
public static void sort2(int[] args){
for(int i = 0; i < args.length-1; i++){
for(int j = i+1; j < args.length; j++){
if (args[i] > args[j]){
int temp = args[i];
args[i] = args[j];
args[j] = temp;
}
}
}
for(int c = 0; c < args.length; c++){
System.out.println("sort2:args====>"+args[c]);
}
}
/*
选择排序
*/
public static void Sort3(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;
}
}
for(int c = 0; c < args.length; c++){
System.out.println("sort3:args====>"+args[c]);
}
}
/*
插入排序
*/
public static void Sort4(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;
}
}
for(int c = 0; c < args.length; c++){
System.out.println("sort4:args====>"+args[c]);
}
}
public static int[] getMax(int[] arr){
int max = arr[0];
int min = arr[0];
for(int i = 1; i < arr.length; i++){
if(arr[i] > max){
max = arr[i];
}
if(arr[i] < min){
min = arr[i];
}
}
int[] val = new int[2];
val[0] = min;
val[1] = max;
return val;
}
}
class Demo{
public static void main(String[] args){
/* int[] arr = new int[3];
arr[0] = 123;
arr[1] = 456;
arr[2] = 789;
for(int i = 0; i < arr.length; i++){
System.out.println("数组中的值为:" + arr[i]);
}
*/
int[] arr = {3,8,100,50,888};
sort1(arr);
sort2(arr);
Sort3(arr);
int[] val = getMax(arr);
System.out.println("min"+val[0]);
System.out.println("max"+val[1]);
}
/*
数组排序 Arrays
*/
public static void sort1(int[] arr){
Arrays.sort(arr);
for(int i = 0; i < arr.length; i++){
System.out.println("sort1:arr====>"+arr[i]);
}
}
/*
冒泡排序
*/
public static void sort2(int[] args){
for(int i = 0; i < args.length-1; i++){
for(int j = i+1; j < args.length; j++){
if (args[i] > args[j]){
int temp = args[i];
args[i] = args[j];
args[j] = temp;
}
}
}
for(int c = 0; c < args.length; c++){
System.out.println("sort2:args====>"+args[c]);
}
}
/*
选择排序
*/
public static void Sort3(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;
}
}
for(int c = 0; c < args.length; c++){
System.out.println("sort3:args====>"+args[c]);
}
}
/*
插入排序
*/
public static void Sort4(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;
}
}
for(int c = 0; c < args.length; c++){
System.out.println("sort4:args====>"+args[c]);
}
}
public static int[] getMax(int[] arr){
int max = arr[0];
int min = arr[0];
for(int i = 1; i < arr.length; i++){
if(arr[i] > max){
max = arr[i];
}
if(arr[i] < min){
min = arr[i];
}
}
int[] val = new int[2];
val[0] = min;
val[1] = max;
return val;
}
}
相关文章推荐
- linux 可打开的文件描述符数
- spi协议及工作原理分析
- FZU 2111
- 软件工程实验一 复利计算——观赏其他团队工程
- innerHTML与appendChild(newnodeText)的区别
- 博客参考评论
- ArcGIS Server开发教程系列(1) Arcgis server 10.1 的安装
- 泛型
- 自定义抽屉—QQ特效
- C++中先于main执行
- java环境变量配置
- 关于openssl资源的环境变量配置
- Hadoop Sqoop;从HDFS导入数据到MYSQL数据库中出现中文字符乱码
- 把截取的视频做成Gif格式(Gifrocket)
- 谷歌注册失败 手机已多次注册
- C++的值调用和引用调用
- Quartz Configuration Reference
- Ubuntu下shell脚本运行异常:bash和dash的区别
- 算法练习——完全数
- do{} while(0) 的意义和用法