给以下数组做个排序{10,21,5,101,99} 分别从大到小、从小到大输出 。(提示:双重循环,冒泡排序算法)
时间: 2023-06-20 19:06:27 浏览: 82
好的,以下是冒泡排序算法的实现,可以实现从大到小、从小到大排序输出:
从大到小排序输出:
```python
arr = [10, 21, 5, 101, 99]
# 冒泡排序
for i in range(len(arr)):
for j in range(len(arr)-1-i):
if arr[j] < arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 从大到小输出
print("从大到小排序输出:")
for i in arr:
print(i, end=" ")
```
输出结果为:
```
从大到小排序输出:
101 99 21 10 5
```
从小到大排序输出:
```python
arr = [10, 21, 5, 101, 99]
# 冒泡排序
for i in range(len(arr)):
for j in range(len(arr)-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 从小到大输出
print("从小到大排序输出:")
for i in arr:
print(i, end=" ")
```
输出结果为:
```
从小到大排序输出:
5 10 21 99 101
```
相关问题
给以下数组做个排序{10,21,5,101,99} 分别从大到小、从小到大输出 用java
### 回答1:
可以使用Java内置的Arrays类来对数组进行排序,具体实现如下:
从大到小排序输出:
```
int[] arr = {10,21,5,101,99};
Arrays.sort(arr);
for(int i = arr.length - 1; i >= 0; i--){
System.out.print(arr[i] + " ");
}
```
从小到大排序输出:
```
int[] arr = {10,21,5,101,99};
Arrays.sort(arr);
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
```
运行结果:
从大到小排序输出:`101 99 21 10 5`
从小到大排序输出:`5 10 21 99 101`
### 回答2:
从大到小排序(降序):首先将数组{10,21,5,101,99}复制到一个新的数组中,然后使用冒泡排序算法进行排序,每次比较相邻的两个元素,如果前一个元素比后一个元素小,则交换它们的位置,这样一趟下来,最大的元素就会沉到数组末尾。重复这个过程,直到整个数组都被排序。
Java代码如下:
```java
public class Main {
public static void main(String[] args) {
int[] arr = {10, 21, 5, 101, 99};
// 从大到小排序
int[] descendingArr = arr.clone();
for (int i = 0; i < descendingArr.length - 1; i++) {
for (int j = 0; j < descendingArr.length - i - 1; j++) {
if (descendingArr[j] < descendingArr[j + 1]) {
int temp = descendingArr[j];
descendingArr[j] = descendingArr[j + 1];
descendingArr[j + 1] = temp;
}
}
}
// 从小到大排序
int[] ascendingArr = arr.clone();
Arrays.sort(ascendingArr);
// 输出结果
System.out.println("从大到小排序:");
for (int num : descendingArr) {
System.out.print(num + " ");
}
System.out.println();
System.out.println("从小到大排序:");
for (int num : ascendingArr) {
System.out.print(num + " ");
}
}
}
```
输出结果:
从大到小排序:
101 99 21 10 5
从小到大排序:
5 10 21 99 101
### 回答3:
从大到小输出:
```java
import java.util.Arrays;
public class ArraySort {
public static void main(String[] args) {
int[] array = {10, 21, 5, 101, 99};
Arrays.sort(array);
for (int i = array.length - 1; i >= 0; i--) {
System.out.print(array[i] + " ");
}
}
}
```
从小到大输出:
```java
import java.util.Arrays;
public class ArraySort {
public static void main(String[] args) {
int[] array = {10, 21, 5, 101, 99};
Arrays.sort(array);
for (int i : array) {
System.out.print(i + " ");
}
}
}
```
以上是使用Java的Arrays.sort()函数进行排序,并分别从大到小和从小到大输出数组元素的示例代码。
给以下数组做个排序{10,21,5,101,99} 分别从大到小、从小到大输出 。(提示:双重循环,冒泡排序算法)用java
以下是使用Java实现的冒泡排序算法:
```
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {10, 21, 5, 101, 99};
// 从小到大排序
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println("从小到大排序结果:");
for (int i : arr) {
System.out.print(i + " ");
}
// 从大到小排序
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println("\n从大到小排序结果:");
for (int i : arr) {
System.out.print(i + " ");
}
}
}
```
输出结果为:
```
从小到大排序结果:
5 10 21 99 101
从大到小排序结果:
101 99 21 10 5
```
阅读全文