您的位置:首页 > 其它

实现冒泡排序。(排序整形数组)。使用数组和指针两种方法。

2016-01-17 14:21 555 查看
法一:指针
#include<stdio.h>
#include<stdlib.h>
void bubble_sort(int arr[], int sz)
{
int i = 0;
int j = 0;
for (j = 0; j < sz - 1; j++)
{
for (i = 0; i < sz - 1 - j; i++)
{
if (*(arr + i) < *(arr + i + 1))
{
int tmp = *(arr + i);
*(arr + i) = *(arr + i + 1);
*(arr + i + 1) = tmp;
}
}
}
}
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int i = 0;
bubble_sort(arr, sizeof(arr) / sizeof(arr[0]));
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
printf("%d ", arr[i]);
}
printf("\n");
system("pause");
return 0;
}


结果:
9 8 7 6 5 4 3 2 1
请按任意键继续. . .

法二:数组
#include<stdio.h>
#include<stdlib.h>
void bubble_sort(int arr[], int sz)
{
int i = 0;
int j = 0;
for (j = 0; j < sz - 1; j++)
{
for (i = 0; i < sz - 1 - j; i++)
{
if (arr[i] < arr[i + 1])
{
int tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
}
}
}
}
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int i = 0;
bubble_sort(arr, sizeof(arr) / sizeof(arr[0]));
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
printf("%d ", arr[i]);
}
printf("\n");
system("pause");
return 0;
}


结果:
9 8 7 6 5 4 3 2 1
请按任意键继续. . .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息