用指针方法对10个整数按由大到小顺序排序
时间: 2023-04-29 19:04:26 浏览: 83
可以使用冒泡排序法或快速排序法来实现。使用指针可以在进行交换时避免使用临时变量。
冒泡排序法:
```
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]) {
int *p1 = &arr[j], *p2 = &arr[j + 1];
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
}
}
}
```
快速排序法:
```
void quickSort(int *arr, int left, int right) {
int i = left, j = right;
int pivot = arr[(left + right) / 2];
while (i <= j) {
while (arr[i] > pivot) i++;
while (arr[j] < pivot) j--;
if (i <= j) {
int *p1 = &arr[i], *p2 = &arr[j];
int temp = *p1;
*p1 = *p2;
*p2 = temp;
i++, j--;
}
}
if (left < j) quickSort(arr, left, j);
if (i < right) quickSort(arr, i, right);
}
```
注意:这里只是简单的代码,可能不够严谨,请在实际使用时自行检查。
阅读全文