您的位置:首页 > 其它

冒泡排序两种实现方法

2015-10-26 15:42 357 查看
//从小到大:
//下标法:
#include <stdio.h>
int main()
{
int i, j, t;
int arr[10] = { 1, 3, 2, 9, 6, 7, 0, 4, 5, 8 };
int len = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < len-1; i++)
{
for (j = 0; j < len-i-1; j++)
{
if (arr[j] > arr[j+1])
{
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
printf("排序后数组为:\n");
for (i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
return 0;
}

//第二种方法:指针法
#include <stdio.h>
int maopao(int *arr,int len)
{
int i, j, t;
for (i = 0; i < len - 1; i++)
{
for (j = 0; j < len-i-1; j++)
{
if (*(arr+j )> *(arr+j+1))
{
t = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = t;
}
}
}
printf("排序后数组为:\n");
for (i = 0; i < len; i++)
{
printf("%d ", *(arr+i));
}
printf("\n");
}
int main()
{
int arr[10] = { 1, 4, 8, 0, 5, 7, 2, 9, 3, 6 };
int len = sizeof(arr) / sizeof(arr[0]);
maopao(arr, len);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c