程序降序怎么编程的

时间:2025-01-26 01:53:22 单机游戏

程序降序编程的方法有多种,以下是一些常见编程语言的示例:

C语言

方法一:使用`qsort`函数

```c

include

include

// 比较函数,用于指定排序方式(降序)

int compare(const void *a, const void *b) {

int num1 = *(int*)a;

int num2 = *(int*)b;

if (num1 > num2) {

return -1;

} else if (num1 < num2) {

return 1;

} else {

return 0;

}

}

int main() {

int arr[] = {5, 8, 2, 4, 1};

int size = sizeof(arr) / sizeof(arr);

// 使用qsort函数进行降序排序

qsort(arr, size, sizeof(int), compare);

// 打印排序后的数组

for (int i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

方法二:自己实现降序排序算法(冒泡排序)

```c

include

void swap(int *a, int *b) {

int temp = *a;

*a = *b;

*b = temp;

}

void bubbleSort(int arr[], int n) {

for (int i = 0; i < n - 1; i++) {

for (int j = 0; j < n - i - 1; j++) {

if (arr[j] < arr[j + 1]) {

swap(&arr[j], &arr[j + 1]);

}

}

}

}

int main() {

int arr[] = {5, 2, 8, 9, 1};

int n = sizeof(arr) / sizeof(arr);

printf("原始数组: ");

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

bubbleSort(arr, n);

printf("\n降序排序后的数组: ");

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

方法三:快速排序

```c

include

void swap(int *a, int *b) {

int temp = *a;

*a = *b;

*b = temp;

}

int partition(int arr[], int low, int high) {

int pivot = arr[high];

int i = (low - 1);

for (int j = low; j < high; j++) {

if (arr[j] > pivot) {

i++;

swap(&arr[i], &arr[j]);

}

}

swap(&arr[i + 1], &arr[high]);

return (i + 1);

}

void quickSort(int arr[], int low, int high) {

if (low < high) {

int pi = partition(arr, low, high);

quickSort(arr, low, pi - 1);

quickSort(arr, pi + 1, high);

}

}

int main() {

int arr[] = {5, 2, 8, 3, 1};

int n = sizeof(arr) / sizeof(arr);

quickSort(arr, 0, n - 1);

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

Java