c语言输出冒泡函数,c语言冒泡法

c语言冒泡法

实参是形参的拷贝

奈曼网站建设公司创新互联公司,奈曼网站设计制作,有大型网站制作公司丰富经验。已为奈曼上1000家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的奈曼做网站的公司定做!

实参的值改变不影响形参

#include stdio.h

void exch(int *a,int *b)

{

int temp;

temp =*a;

*a=*b;

*b=temp;

}

void comexch(int *m,int *n)

{

if(*m*n)

exch(m,n);

}

void main()

{

int i,a[10];

printf("please input 10 numbers:");

for(i=0;i10;i++)

scanf("%d",a[i]);

for(i=0;i10;i++)

printf("%d\n",a[i]);

int j,k,temp;

for(j=0;j10;j++)

{

for(k=10;kj;k--)

comexch(a[k-1],a[j]);

}

printf("\n结果为:\n");

for(k=0;k10;k++)

printf("%d\n",a[k]);

}

C语言冒泡问题求解!

void mp(int *p, int len)  //冒泡算法

{

int i,j,t;

for (i = 0;i  len-1;++i)

{

for (j = 0;j  len-1-i;++j)

{

if (p[j]  p[j+1])

{

t = p[j];

p[j] = p[j+1];

p[j+1] = t;

}

}

}

return;

}

第二个for循环的++i改成++j。

请采纳

用数组作函数参数,定义一个实现冒泡排序的函数,在主函数中完成数据的输入和输出.

c语言的代码如下:

#includestdio.h

void Bubble_Sort(int num[50],int n){//传入数组和数组的大小,冒泡排序函数

int i,j,temp;

for(i=0;in;i++){

for(j=0;jn-1-i;j++){

if(num[j]num[j+1]){

temp=num[j];

num[j]=num[j+1];

num[j+1]=temp;

}

}

}

}

int main(){   //主函数

int num[50];

int n,i;

scanf("%d",n);

for(i=0;in;i++){

scanf("%d",num[i]);  //输入数据

}

Bubble_Sort(num,n);  //调用函数

for(i=0;in;i++){

printf("%d ",num[i]);   //输出

}

return 0;

}

扩展资料

其他排序算法

1、插入排序

插入排序:已知一组升序排列数据a[1]、a[2]、……a[n],一组无序数据b[1]、b[2]、……b[m],需将二者合并成一个升序数列。首先比较b[1]与a[1]的值,若b[1]大于a[1],则跳过,比较b[1]与a[2]的值;

若b[1]仍然大于a[2],则继续跳过,直到b[1]小于a数组中某一数据a[x],则将a[x]~a[n]分别向后移动一位,将b[1]插入到原来a[x]的位置这就完成了b[1]的插入。b[2]~b[m]用相同方法插入。(若无数组a,可将b[1]当作n=1的数组a)

2、希尔排序

由希尔在1959年提出,又称希尔排序(shell排序)。已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。发现当n不大时,插入排序的效果很好。

首先取一增量d(dn),将a[1]、a[1+d]、a[1+2d]……列为第一组,a[2]、a[2+d]、a[2+2d]……列为第二组……,a[d]、a[2d]、a[3d]……列为最后一组以次类推,在各组内用插入排序,然后取d'd,重复上述操作,直到d=1。

参考资料来源:百度百科-排序

如何用C语言进行冒泡排序,并把每一次排序的结果输出?

#includestdio.h

int main()

{ int a[10], i, j, t, i1;//定义数组;

for (i = 0; i10; i++)

{ printf("请输入第%d次元素:",i+1);

scanf("%d", a[i]);//给数组赋值;

}

for (i = 0; i  9; i++)  //10个数,进行9轮比较;

{ for (j = 0; j  9 - i; j++)  //第一个数比较9次,依次递减;

{ if (a[j]  a[j + 1])  //交换值;

{ t = a[j];

a[j] = a[j + 1];

a[j + 1] = t;

}

}

for (i1 = 0; i110; i1++)

{ printf("%d ", a[i1]);//输出数组的值;

}

printf("\n");

}

return 0;

}


网页名称:c语言输出冒泡函数,c语言冒泡法
文章地址:http://scyanting.com/article/hopjec.html