c语言排序按照从小到大
时间: 2023-08-11 08:26:25 浏览: 64
实现从小到大排序的一个常见的方法是使用冒泡排序。冒泡排序是一种简单的排序算法,它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。具体实现方法如下:
```c
void bubble_sort(int arr[], int n) {
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
在这个函数中,我们使用了两层循环。外层循环控制排序的趟数,内层循环控制每一趟中的比较次数。如果相邻两个元素的顺序不符合要求,我们就交换它们的位置。这样,经过多次排序后,整个数组就能够按照从小到大的顺序排列了。
相关问题
c语言冒泡排序从小到大
以下是C语言冒泡排序从小到大的代码实现:
```c
#include <stdio.h>
void main(){
int arr[]={3,9,-1,10,-2,100};
int i,j,t;
int arrLen = sizeof(arr)/ sizeof(int);
for(i=0;i<arrLen-1;i++){
for(j = 0; j < arrLen-1-i;j++){
if(arr[j] > arr[j+1]){
t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
for(j = 0;j < arrLen;j++){
printf(" %d",arr[j]);
}
getchar();
}
```
c语言快速排序从小到大
C语言快速排序从小到大的代码如下:
```c
void quick_sort(int arr[], int left, int right) {
if (left >= right) {
return;
}
int i = left, j = right, pivot = arr[left];
while (i < j) {
while (i < j && arr[j] >= pivot) {
j--;
}
arr[i] = arr[j];
while (i < j && arr[i] <= pivot) {
i++;
}
arr[j] = arr[i];
}
arr[i] = pivot;
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
```