数据结构 冒泡排序 c语言 源代码 急用啊

如题所述

void bubble_sort(int *x, int n)
  {
  int j, k, h, t;
  for (h=n-1,h=k; h>0; h--) /*循环到没有比较范围*/
  {
  for (j=0, k=0; j<h; j++) /*每次预置k=0,循环扫描后更新k*/
  {
  if (*(x+j) > *(x+j+1)) /*大的放在后面,小的放到前面*/
  {
  t = *(x+j);
  *(x+j) = *(x+j+1);
  *(x+j+1) = t; /*完成交换*/
  k = j; /*保存最后下沉的位置。这样k后面的都是排序排好了的。*/
  }
  }
  }
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-05
#include<stdio.h>
#include <iostream.h>
void main()
{
int a[10];
int temp;
cout<<"please enter 10 number: ";
for (int m=0;m<10;m++)
{
cin>>a[m];
}

for(int i=0;i<9;i++)
{
for(int j =0; j<9-i;j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] =temp;
}
}

}
for(int x=0;x<10;x++)
{
cout<<a[x]<<" ";
}

}
程序只是十个数字的排序,可以自己修改下。本回答被网友采纳
第2个回答  2011-11-28
#include<stdio.h>
main()
{
char a[30],j;
scanf("%s",a);
for(int k=0;k<30;k++)
for(int i=0;i<30-k;i++)
if(a[i]<a[i+1])
{
j=a[i];
a[i]=a[i+1];
a[i+1]=j;
}
printf("%s",a);

}

冒泡本回答被提问者采纳