c语言中冒泡排序法。
1、升序排列
#include <stdio.h>
#define NUMBER 5
void bsort(int x[], int n)
{
int i, j;
for(i = 0; i < n - 1; i++)
{
for(j = n - 1; j > i; j--)
{
if(x[j - 1] > x[j])
{
int tmp = x[j];
x[j] = x[j - 1];
x[j - 1] = tmp;
}
}
}
}
int main(void)
{
int i, a[NUMBER];
puts("please input the elements.");
for(i = 0; i < NUMBER; i++)
{
printf("NO.%d = ", i + 1); scanf("%d", &a[i]);
}
bsort(a, NUMBER);
puts("show the sort result.
");
for(i = 0; i < NUMBER; i++)
{
printf("a[%d] = %d
", i, a[i]);
}
return 0;
}
2、升序排列
#include <stdio.h> #define NUMBER 9 void bsort(int x[], int n) { int i, j; for(i = 0; i < n - 1; i++) { for(j = 1; j < n - i; j++) { if(x[j] < x[j - 1]) { int tmp = x[j]; x[j] = x[j - 1]; x[j - 1] = tmp; } } } } int main(void) { int i, a[NUMBER]; puts("please input the elements."); for(i = 0; i < NUMBER; i++) { printf("NO.%d = ", i + 1); scanf("%d", &a[i]); } bsort(a, NUMBER); puts(" ===================="); for(i = 0; i < NUMBER; i++) { printf("a[%d] = %d ", i, a[i]); } return 0; }
3、降序排列
#include <stdio.h> #define NUMBER 5 void bsort(int x[], int n) { int i, j; for(i = 0; i < n - 1; i++) { for(j = n - 1; j > i; j--) { if(x[j] > x[j - 1]) { int tmp = x[j]; x[j] = x[j - 1]; x[j - 1] = tmp; } } } } int main(void) { int i, a[NUMBER]; puts("please input the elements."); for(i = 0; i < NUMBER; i++) { printf("NO.%d = ", i + 1); scanf("%d", &a[i]); } bsort(a, NUMBER); puts(" show th result."); for(i = 0; i < NUMBER; i++) { printf("a[%d] = %d ", i, a[i]); } return 0; }
4、降序排列
#include <stdio.h> #define NUMBER 5 void bsort(int x[], int n) { int i, j; for(i = 0; i < n - 1; i++) { for(j = 1; j < n - i; j++) { if(x[j] > x[j - 1]) { int tmp = x[j]; x[j] = x[j - 1]; x[j - 1] = tmp; } } } } int main(void) { int i, a[NUMBER]; puts("please input the element."); for(i = 0; i < NUMBER; i++) { printf("NO.%d = ", i + 1); scanf("%d", &a[i]); } bsort(a, NUMBER); puts(" =================="); for(i = 0; i < NUMBER; i++) { printf("a[%d] = %d ", i, a[i]); } return 0; }