java 2. 用选择排序法,按升序顺序输出一维数组中的元素 。
时间: 2024-04-30 11:23:52 浏览: 86
以下是Java代码实现选择排序法,按升序顺序输出一维数组中的元素:
```
public class SelectionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 1, 5, 6};
int n = arr.length;
//选择排序
for(int i=0; i<n-1; i++){
int minIndex = i;
for(int j=i+1; j<n; j++){
if(arr[j] < arr[minIndex]){
minIndex = j;
}
}
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
//输出排序后的数组
for(int i=0; i<n; i++){
System.out.print(arr[i] + " ");
}
}
}
```
输出结果为:1 2 5 5 6 9
相关问题
用java用选择排序法,按升序顺序输出任意一组键盘键入的一维数组中的元素的实验内容及步骤(包括主要流程和说明
实验内容:
本次实验主要是使用Java语言实现选择排序算法,将任意一组键盘键入的一维数组中的元素按升序顺序输出。
步骤:
1. 首先通过Scanner类获取用户输入的一维数组元素,并将其存入数组中。
2. 接着定义一个选择排序的方法,用于将数组中的元素按升序排列。
3. 在选择排序的方法中,使用两个嵌套的for循环进行排序,外层循环控制排序的轮数,内层循环用于选出最小的元素。
4. 在每一轮排序中,使用一个变量minIndex记录当前轮中最小元素的下标,然后遍历数组,找到最小元素的下标并将其赋值给minIndex。
5. 将最小元素与当前轮中的第一个元素交换位置,完成一轮排序。
6. 最后在主方法中调用选择排序的方法,将排好序的数组元素按升序输出。
代码示例:
```java
import java.util.Scanner;
public class SelectionSort {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一维数组元素,以空格分隔:");
String[] input = scanner.nextLine().split(" ");
int[] arr = new int[input.length];
for (int i = 0; i < input.length; i++) {
arr[i] = Integer.parseInt(input[i]);
}
selectionSort(arr);
System.out.println("排序后的数组元素为:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
public static void selectionSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}
```
说明:
1. 在代码中,我们首先使用Scanner类获取用户输入的一维数组元素,并将其转化为int类型存入数组中。
2. 然后定义了一个选择排序的方法selectionSort,用于将数组中的元素按升序排列。
3. 在选择排序的方法中,我们使用两个嵌套的for循环进行排序。外层循环控制排序的轮数,内层循环用于选出最小的元素。
4. 在每一轮排序中,我们使用一个变量minIndex记录当前轮中最小元素的下标,然后遍历数组,找到最小元素的下标并将其赋值给minIndex。
5. 最后将最小元素与当前轮中的第一个元素交换位置,完成一轮排序。
6. 在主方法中,我们调用选择排序的方法,将排好序的数组元素按升序输出。
用java用选择排序法,按升序顺序输出任意一组键盘键入的一维数组中的元素的实验内容及步骤(具体包括主要流程和说明
实验内容:
本次实验要求使用Java编写一个选择排序法的程序,实现对任意一组键盘键入的一维数组中的元素进行升序排序并输出排序后的结果。
步骤:
1. 首先定义一个数组,可以使用Scanner类从键盘输入数组元素,也可以直接在代码中定义数组。
2. 接下来,使用选择排序法对数组进行升序排序。选择排序法是指每一轮循环选择一个最小的元素,将其放到数组的最前面,然后从剩余的元素中选择一个最小的元素,放到已排序的元素后面,依次进行,直到所有的元素都排好序为止。
3. 在排序过程中,使用两个循环实现。外层循环控制需要排序的元素个数,内层循环控制选择最小元素的过程。
4. 最后,输出排序后的数组元素。
代码实现:
```
import java.util.Scanner;
public class SelectionSort {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度:");
int n = scanner.nextInt();
int[] arr = new int[n];
System.out.println("请输入数组元素:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
System.out.println("排序后的数组:");
for (int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
}
}
```
运行结果:
```
请输入数组长度:5
请输入数组元素:
2 4 1 3 5
排序后的数组:
1 2 3 4 5
```
在上述代码中,首先使用Scanner类从键盘输入数组长度和元素,然后使用选择排序法对数组进行升序排序。最后输出排序后的数组元素。
阅读全文