请问这个冒泡排序代码,每一行都是什么意思呀,谢谢 冒泡排序代码实现
C语言冒泡排序法代码
结果: 代码:#include <stdio.h>void main()
{
int i, j, temp;
int a[10];
for (i = 0; i < 10; i++)
{
scanf("%d,", &a[i]);
}
for (j = 0; j < 9; j++)
{
for (i = 0; i < 9 - j; i++)
{
if (a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
} for (i = 0; i < 10; i++)
{
printf("%d,", a[i]);
}
printf("\n");
}
冒泡排序的C语言代码
程序如下:
# include <malloc.h>
# include <stdio.h>
int main(void)
{
int i, j, t,num;
int * p;
printf("请输入要排序的数的个数:num=");
scanf("%d", &num);
p= (int *)malloc(num* sizeof(int));
//输入要排序的数
for (i=0; i<num; ++i)
{
printf("请输入第%d个要排序的数p[%d]=\n", i+1,i);
scanf("%d", &p[i]);
}
//冒泡排序
for (i=0; i<num-1; ++i)
{
for (j=0; j<num-1-i; ++j)
{
if (p[j] > p[j+1]) // >表示升序 <表示降序
{
t = p[j];
p[j] = p[j+1];
p[j+1] = t;
}
}
}
//输出已经排序好的数
printf("输出已经排序好的数");
for (i=0; i<num; ++i)
{
printf("%d ", p[i]);
}
printf("\n");
return 0;
}程序运行结果:
随机输入十个数:
JAVA冒泡排序好代码
class NumSort{
public static void main(String[] args)
{
int a[]=new int[args.length];
int i;
if (args.length==0)
{
System.out.println();
System.out.println("usage:java NumSort number1 number2.....numberN");
}
else
{
for(i=0;i<args.length;i++)
{
a[i]=Integer.parseInt(args[i]);
}
Print(a);
System.out.println();
Sort(a);
Print(a);
}
}
//静态输出方法
private static void Print(int a[])
{
int i;
for(i=0;i<a.length;i++)
{
System.out.print(a[i] + " ");
}
}
//冒泡排序,外层循环控制长度,内层循环两两对比
private static void Sort(int a[])
{
int i,j,tmp;
for(i=a.length-1;i>=1;i--)
for(j=0;j<i;j++)
{
if(a[j+1]<a[j])
{
tmp=a[j+1];
a[j+1]=a[j];
a[j]=tmp;
}
}
}
}
十个数的冒泡排序的代码
int a[10]={1,2,3,4,5,6,7,8,9,10}
//从大到小的排序
for(int i=0; i<9; i++){
for(int j=0; j<10-i; j++){
if (a[ j ] < a[ j+1 ]){
int temp=a[ j+1 ];
a[ j+1 ]=a[ j ];
a[ j ]=temp;
}
}
}