用c写一个冒泡排序函数
时间: 2023-04-06 11:01:42 浏览: 58
好的,下面是用 C 语言写的冒泡排序函数的代码:
```
void bubble_sort(int array[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
```
冒泡排序的基本思想是,对于给定的一组数据,重复地走过这组数据,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走过数据的次数就是数据的个数减一。在上面的代码中,外层循环控制走过数据的次数,内层循环控制每次走过数据的过程中比较的两个数的位置。
使用这个函数的方法是:
```
int main() {
int array[] = {3, 4, 1, 5, 2};
int n = sizeof(array) / sizeof(int);
bubble_sort(array, n);
return 0;
}
```
在这个例子中,数组 `array` 将被排序为 `{1, 2, 3, 4, 5}`。
相关问题
用C语言写一个冒泡排序函数
#include <stdio.h>
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
/* 冒泡排序函数 */
void bubbleSort(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])
swap(&arr[j], &arr[j+1]);
}
/* 输出函数 */
void printArray(int arr[], int size)
{
int i;
for (i=0; i < size; i++)
printf("%d ", arr[i]);
printf("\n");
}
/* 主函数 */
int main()
{
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
printf("排序后的数组: \n");
printArray(arr, n);
return 0;
} 我不了解用C语言写一个冒泡排序函数,但我可以给你一些参考资料,希望能帮到你!
用C写一个冒泡排序函数
好的,以下是用 C 语言编写的冒泡排序函数:
void bubbleSort(int arr[], int n) {
int i, j;
for (i = ; i < n-1; i++) {
for (j = ; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
这个函数接受一个整数数组和数组的大小作为参数,然后对数组进行冒泡排序。