C语言:冒泡排序算法实现将一个长度为N的数组ary所有整形元素按升序排列。试完成相关函数。
冒泡排序算法实现将一个长度为N的数组ary所有整形元素按升序排列。试完成相关函数。#include<stdio.h>#defineN10voidshow(in...
冒泡排序算法实现将一个长度为N的数组ary所有整形元素按升序排列。试完成相关函数。#include<stdio.h>#define N 10void show(int r[] , int n){ /*elements are stored in r[1] to r[n]*/}void bubblesort(int r[],int n) { /*elements are stored in r[1] to r[n]*/ } /*bubblesort*/ void main(){ int a[N],i; printf("请输入 %d 个整数:\n",N); for(i=0;i<N+1;i++) scanf("%d",&a[i]); printf("数组A的%d个元素是:\n",N); show(a,N); printf("冒泡法排序每趟的情形是:\n"); bubblesort(a,N); printf("\nafter sorted by bubblesort:\n"); show(a,N);}
展开
2个回答
展开全部
如果需要看到每一趟冒泡的情况,需要把循环放在外面,我用你代码写了一个,你可以看看。还是不明白的话,建议你看看《数据结构》这本书,里面很详细!
欢迎采纳……
#include<stdio.h>
#define N 10
void show(int r[] , int n)
{ /*elements are stored in r[1] to r[n]*/
int i=0;
for(;i<n;n++)
printf("%d ",&r[1]);
}
void bubblesort(int r[],int n;int k)
{ /*elements are stored in r[1] to r[n]*/
int a;
for(int j=n-1;j>k;j--) //初次k=0
{
if(r[k]<r[k-1]){a=r[k],r[k]=r[k-1];r[k-1]=a;}
}
{
}
}
/*bubblesort*/
void main()
{
int a[N],i;
printf("请输入 %d 个整数:\n",N);
for(i=0;i<N+1;i++) scanf("%d",&a[i]);
printf("数组A的%d个元素是:\n",N);
for(int j=1;j<n;j++){
show(a,N);
printf("冒泡法排序每趟的情形是:\n");
bubblesort(a,N,j-1);
}
printf("\nafter sorted by bubblesort:\n");
show(a,N);
}
欢迎采纳……
#include<stdio.h>
#define N 10
void show(int r[] , int n)
{ /*elements are stored in r[1] to r[n]*/
int i=0;
for(;i<n;n++)
printf("%d ",&r[1]);
}
void bubblesort(int r[],int n;int k)
{ /*elements are stored in r[1] to r[n]*/
int a;
for(int j=n-1;j>k;j--) //初次k=0
{
if(r[k]<r[k-1]){a=r[k],r[k]=r[k-1];r[k-1]=a;}
}
{
}
}
/*bubblesort*/
void main()
{
int a[N],i;
printf("请输入 %d 个整数:\n",N);
for(i=0;i<N+1;i++) scanf("%d",&a[i]);
printf("数组A的%d个元素是:\n",N);
for(int j=1;j<n;j++){
show(a,N);
printf("冒泡法排序每趟的情形是:\n");
bubblesort(a,N,j-1);
}
printf("\nafter sorted by bubblesort:\n");
show(a,N);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询