请用Java实现冒泡、插入、选择排序中的任意一个排序算法。
2018-01-20 17:40
731 查看
请用Java实现冒泡、插入、选择排序中的任意一个排序算法。
作为初学者,以下实现方法可能笨拙或有误,希望有大神看到后给予优化和指点!~
public class Sort {
public static void main(String[] args) {
int [] unsorted = {1,15,10,66,99,88};
int[] mpSort = MPSort(unsorted);
System.out.println(Arrays.toString(mpSort));
System.out.println("-----------------------");
int[] xzSort = XZSort(unsorted);
System.out.println(Arrays.toString(xzSort));
System.out.println("-----------------------");
int[] crSort = CRSort(unsorted);
System.out.println(Arrays.toString(crSort));
}
//冒泡排序
public static int[] MPSort(int[] arr){
for(int i = arr.length - 2;i >= 0;i--){
for(int j = 0;j <= i;j++ ){
if(arr[i] > arr[i+1]){
int tmp;
tmp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = tmp;
}
}
}
return arr;
}
//插入排序
public static int[] CRSort(int[] unsorted){
for (int i = 1; i < unsorted.length; i++)
{
if (unsorted[i - 1] > unsorted[i])
{
int temp = unsorted[i];
int j = i;
while (j > 0 && unsorted[j - 1] > temp)
{
unsorted[j] = unsorted[j - 1];
j--;
}
unsorted[j] = temp;
}
}
return unsorted;
}
//选择排序
public static int[] XZSort(int[] arr){
for(int i = 1;i < arr.length-1;i++){
for(int j = i;j < arr.length-1;j++){
if(arr[j-1] > arr[j]){
int tmp;
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
return arr;
}
}下面附上大神-续写经典的博文: Java常用排序算法/程序员必须掌握的8大排序算法。
作为初学者,以下实现方法可能笨拙或有误,希望有大神看到后给予优化和指点!~
public class Sort {
public static void main(String[] args) {
int [] unsorted = {1,15,10,66,99,88};
int[] mpSort = MPSort(unsorted);
System.out.println(Arrays.toString(mpSort));
System.out.println("-----------------------");
int[] xzSort = XZSort(unsorted);
System.out.println(Arrays.toString(xzSort));
System.out.println("-----------------------");
int[] crSort = CRSort(unsorted);
System.out.println(Arrays.toString(crSort));
}
//冒泡排序
public static int[] MPSort(int[] arr){
for(int i = arr.length - 2;i >= 0;i--){
for(int j = 0;j <= i;j++ ){
if(arr[i] > arr[i+1]){
int tmp;
tmp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = tmp;
}
}
}
return arr;
}
//插入排序
public static int[] CRSort(int[] unsorted){
for (int i = 1; i < unsorted.length; i++)
{
if (unsorted[i - 1] > unsorted[i])
{
int temp = unsorted[i];
int j = i;
while (j > 0 && unsorted[j - 1] > temp)
{
unsorted[j] = unsorted[j - 1];
j--;
}
unsorted[j] = temp;
}
}
return unsorted;
}
//选择排序
public static int[] XZSort(int[] arr){
for(int i = 1;i < arr.length-1;i++){
for(int j = i;j < arr.length-1;j++){
if(arr[j-1] > arr[j]){
int tmp;
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
return arr;
}
}下面附上大神-续写经典的博文: Java常用排序算法/程序员必须掌握的8大排序算法。
相关文章推荐
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,快速排序
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 常见的排序算法(Java实现):冒泡、插入、选择、快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- 排序算法复习(Java实现): 插入,冒泡,选择,Shell,快速排序
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现): 插入,冒泡,选择,Shell,快速排序
- 冒泡、快速、直接插入、选择排序算法(Java语言实现)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- java实现常见的排序(冒泡、插入、选择、快排)
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- 排序算法复习(Java实现)(三): 插入,冒泡,选择,Shell,快速排序
- Java实现的排序算法及比较 [冒泡,选择,插入,归并,希尔,快排]
- Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等
- Java实现数组排序总结篇(冒泡,选择,插入,希尔)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序