给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,输出排序后的数组的值。 (选择排序)(每空2分,共10分) object paixu{ def main(args: Array[String]): Unit = { val array = Array(1,6,2,3,9,4,5,7,8) for (i<- 0 until array.length-1){ var minlndex=(1) for (j<- i until (2)){ if (array(minlndex)>array(j+1)){ minlndex =(3)0 } val tmp:lnt = (4) array(i) = array(minlndex) array(minlndex) =(5) var k=0 for(k <- 0 to array.length - 1){ print(array(k)+" ")}
时间: 2023-10-01 14:03:24 浏览: 95
object paixu{
def main(args: Array[String]): Unit = {
val array = Array(1,6,2,3,9,4,5,7,8)
for (i <- 0 until array.length-1){
var minIndex = i
for (j <- i until array.length){
if (array(minIndex) > array(j)){
minIndex = j
}
}
val tmp = array(i)
array(i) = array(minIndex)
array(minIndex) = tmp
}
for(k <- 0 to array.length - 1){
print(array(k)+" ")
}
}
}
输出结果为:1 2 3 4 5 6 7 8 9
相关问题
给定一个有九个整数(1,6,2,3,9,4,5,7,8)的数组输出排序后的数组的值(选择排序)
好的,根据您的要求,我不会透露您的任何要求。对于您的问题,以下是选择排序的实现代码:
```
#include <stdio.h>
void selection_sort(int arr[], int n) {
int i, j, min_idx;
for (i = 0; i < n - 1; i++) {
min_idx = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
int main() {
int arr[] = {1, 6, 2, 3, 9, 4, 5, 7, 8};
int n = sizeof(arr) / sizeof(arr[0]);
selection_sort(arr, n);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为: 1 2 3 4 5 6 7 8 9
java逆序数在一个10个数的数组中,输出逆序数,输入示例:1 3 2 4 5 6 7 8 6 9 输出示例:2
在Java中,计算逆序数是指找出数组中前一个元素大于后一个元素的情况的数量。给定一个整数数组,你需要遍历数组,对于每一对相邻的元素,如果它们的顺序错误(即前者小于后者),就增加逆序计数器。这是一个简单的线性时间复杂度O(n)的算法。
以下是Java代码示例:
```java
public class Main {
public static void main(String[] args) {
int[] array = {1, 3, 2, 4, 5, 6, 7, 8, 6, 9};
int reverseCount = countReverse(array);
System.out.println("逆序数: " + reverseCount);
}
public static int countReverse(int[] arr) {
int count = 0;
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
count++;
}
}
return count;
}
}
```
在这个例子中,数组`{1, 3, 2, 4, 5, 6, 7, 8, 6, 9}`中有两对相邻元素满足逆序条件(3>2, 6>5),所以输出结果是2。
阅读全文