java一维数组进行选择排序
时间: 2024-01-12 07:22:11 浏览: 25
以下是两种Java一维数组进行选择排序的例子:
1. 冒泡排序:
```java
public int[] sort(int[] a) {
int temp;
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
return a;
}
```
2. 插入排序:
```java
public int[] sort(int[] a){
for(int i=0;i<a.length;i++){
for(int j=i;j>0;j--){
if(a[j-1]>a[j]){
swap(a,j-1,j);
}
}
}
return a;
}
public void swap(int[] arr,int i,int j){
arr[i]=arr[i]^arr[j];
arr[j]=arr[i]^arr[j];
arr[i]=arr[i]^arr[j];
}
```
相关问题
java一维数组选择排序
以下是两种Java一维数组选择排序的例子:
1. 冒泡排序
```java
public int[] sort(int[] a) {
int temp;
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
return a;
}
```
2. 插入排序
```java
public int[] sort(int[] a){
for(int i=0;i<a.length;i++){
for(int j=i;j>0;j--){
if(a[j-1]>a[j]){
swap(a,j-1,j);
}
}
}
return a;
}
public void swap(int[] arr,int i,int j){
arr[i]=arr[i]^arr[j];
arr[j]=arr[i]^arr[j];
arr[i]=arr[i]^arr[j];
}
```
Java中一维数组选择排序如何排序
一维数组选择排序的基本思路是:每一次外层循环选择一个最小的数,然后将其与当前位置的数进行交换。
以下是Java中一维数组选择排序的代码实现:
```java
public static void selectionSort(int[] array) {
int len = array.length;
for (int i = 0; i < len - 1; i++) {
int minIndex = i; //记录最小值的下标
for (int j = i + 1; j < len; j++) {
if (array[j] < array[minIndex]) {
minIndex = j;
}
}
//将最小值与当前位置进行交换
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
```
在上述代码中,我们首先定义了一个外层循环,用于选择当前未排序部分的最小值。然后,在内层循环中,我们遍历当前未排序部分的所有数,找到其中的最小值,并记录其下标。最后,我们将最小值与当前位置进行交换。
使用示例:
```java
int[] array = {5, 2, 6, 9, 1};
selectionSort(array);
System.out.println(Arrays.toString(array));
//输出结果为:[1, 2, 5, 6, 9]
```