冒泡排序
#include<stdio.h>
// Function declaration
void TraverseArr(int arr[], int length);
void swap(int *a, int *b);
void bubble_sort(int arr[], int length);
// The main function entry
int main(void)
{
int arr[] = {2, 3, 5, 7, 8, 1, 6, 4, 10, 9};
int len = sizeof(arr) / sizeof(int);
printf("Before Sorting: ");
TraverseArr(arr, len);
bubble_sort(arr, len);
printf("After Sorting: ");
TraverseArr(arr, len);
return 0;
}
/**
* 冒泡排序
* @param arr 待排序数组
* @param length 数组长度
*/
void bubble_sort(int arr[], int length)
{
int i, j;
for(i = 0; i < length - 1; i++){
for(j = 0; j < length - 1 - i; j++){
if(arr[j] > arr[j+1]){
swap(&arr[j], &arr[j+1]);
}
}
}
}
/**
* swap two values
* @param a
* @param b
*/
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
/**
* Through the array
* @param arr 待遍历的数组
* @param length 数组长度
*/
void TraverseArr(int arr[], int length)
{
int i;
for(i = 0; i < length; i++)
{
printf("%-4d", arr[i]);
}
printf("\n");
}
本文来自博客园,作者:wjxuriel,转载请注明原文链接:https://www.cnblogs.com/my-blog-site/p/16270982.html

浙公网安备 33010602011771号