选择排序:
import java.util.Scanner;
/**
* 选择排序:扫描整个列表找到最小值,将其与第一个位置的值交换然后依次类推
* */
public class Selectionsort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int min;
Scanner input =new Scanner(System.in);
System.out.println("Enter the number:");
int n = input.nextInt();
int[] numbers = new int[n];
for (int i= 0; i<n;i++){
numbers[i] = input.nextInt();
}
for(int i=0;i<n;i++){
System.out.println(numbers[i]);
}
int temp;
for(int index =0;index<numbers.length-1;index++)
{
min = index;
for(int scan =index+1;scan<numbers.length;scan++)
if(numbers[scan]<=numbers[min])
min=scan;
temp = numbers[min];
numbers[min]=numbers[index];
numbers[index]=temp;
}
System.out.println("<---------------------------->");
for(int i=0;i<numbers.length-1;i++){
System.out.print(numbers[i]+" ");
}
}
}
插入排序:
import java.util.Scanner;
/*
*
* 插入排序:通过反复的将某个特定值插入到该列表某
*个已排序的自己种完成对列表值的排序
**/
public class InsertSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("输入数组大小:");
Scanner input = new Scanner(System.in);
int number =input.nextInt();
int[] numbers =new int[number];
for(int i=0;i<number;i++)
numbers[i]= input.nextInt();
for (int index =1; index< numbers.length;index++ )
{
int key =numbers[index];
int position =index;
while(position>0&&numbers[position-1]>key){
numbers[position] =numbers[position-1];
position--;
}
numbers[position] =key;
}
System.out.println("<---------------------------->");
for(int i=0;i<numbers.length;i++){
System.out.print(numbers[i]+" ");
}}
}
冒泡排序
import java.util.Scanner;
/*
*
* 冒泡排序:通过重复的比较相邻元素在必要时将他们互换;从而完成对某个列表的排序
*
*/
public class BubbleSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int position,scan;
int temp;
System.out.println("输入数组大小:");
Scanner input = new Scanner(System.in);
int number =input.nextInt();
int[] numbers =new int[number];
for(int i=0;i<number;i++)
numbers[i]= input.nextInt();
for(position =numbers.length-1;position>=0;position--){
for(scan=0;scan<=position-1;scan++){
if(numbers[scan]>numbers[scan+1])
{
temp =numbers[scan];
numbers[scan] =numbers[scan+1];
numbers[scan+1]=temp;
}
}
}
System.out.println("<---------------------------->");
for(int i=0;i<numbers.length;i++){
System.out.print(numbers[i]+" ");
}
}
}
快速排序:
public class QuickSort {
public static void quicksort(int[] T ,int left,int right){
if(left<right){
int i=left ,j =right , temp = T[left];
while(i<j){
while(i<j && T[j]>=temp)
j--;
if(i < j)
T[i++]=T[j];
while(i<j && T[i]<temp)
i++;
if(i<j)
T[j--]=T[i];
}
T[i] =temp;
quicksort(T, left, i-1);
quicksort(T, i+1, right);
}
}
}