微机原理编程:数组中的数按从大到小的顺序排列

如题所述

第1个回答  2012-05-04
START: MOV SI ,OFFSET BLOCK
MOV DI,OFFSET PLUS_DATA
MOV BX,OFFSET MINUS_DATA
MOV CX,COUNT
GOON:LODS BLOCK
TEST AL,80H
JNZ MIUS
STOSB
JMP AGAIN
MIUS:XCHG BX,DI
STOSB
XCHG BX,DI
AGAIN:DEC CX
JNZ GOON
HLT
第2个回答  2023-03-13
以下是一个C++实现的数组按从大到小排序的示例代码,采用冒泡排序算法:

```cpp
#include <iostream>

const int N = 10; // 数组大小

void bubble_sort(int a[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (a[j] < a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}

int main() {
int a[N] = {3, 5, 2, 7, 1, 9, 4, 6, 8, 0};

bubble_sort(a, N);

for (int i = 0; i < N; i++) {
std::cout << a[i] << " ";
}
std::cout << std::endl;

return 0;
}
```

这段程序首先定义一个长度为N的整型数组a,并初始化它的值。然后调用bubble_sort函数对数组进行从大到小排序。最后输出排好序的数组。

bubble_sort函数采用了冒泡排序算法,每次比较相邻两个元素的大小并交换位置,直到所有元素都按照从大到小的顺序排列。函数中的两层循环保证了每个元素都被比较了一遍。

需要注意的是,在实际应用中可能存在多种不同的排序算法,选择适合数据规模和特点的算法可以提高程序的效率。