问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

冒泡排序

发布网友 发布时间:2022-04-24 11:18

我来回答

3个回答

热心网友 时间:2022-05-02 08:22

程序已完成,看你要求的比较细,觉得冒泡排序你该没有问题,这里只是计算好位置在适当的位置加入了(和)而已,没有什么难度,故就没有添加注释,相信你很容易就看的明白的

说明:为了减少输入,我使用了随机数初始化数组,如果想自己输入数据,按代码中的注释去掉相应的语句和注释即可!

程序代码如下,供参考:
# include "stdio.h"
# include "time.h"
# include "stdlib.h"
# define N 400
void init(int a[],int n){
int i;
srand ( ( unsigned int ) time ( NULL ) );//自己输入去此句
for(i=0;i<n;i++)
//scanf("%d",&a[i]);//自己输入将此句的注释去掉
a[i]=rand()%100001;//自己输入去此句
}
void bubblesort(int a[],int n){//起泡排序
int i,j,k=1,m,num;
for(i=0;i<n-1;i++){//i用来记录比较的趟数
for(j=0;j<n-1-i;j++)//j用来记录每趟比较需比较的次数
if(a[j]>a[j+1]){
num=a[j];
a[j]=a[j+1];
a[j+1]=num;
}
printf("(");
printf("%c",32);
for(m=0;m<n;m++){
printf("%d",a[m]);
if(m==n-1-k){
printf("%c",32);
printf(")");
printf("%c",32);
}
else
printf("%c%c",32,32);
}
k++;
printf("\n\n");
}

}
void myprint(int a[],int n){
printf("(");
for(int i=0;i<n;i++){
printf("%c%c",32,32);
printf("%d",a[i]);
}
printf("%c%c)",32,32);
}
void main(){
int n;
int a[N];
printf("请输入要排序的数组的大小:");
scanf("%d",&n);
init(a,n);
printf("source:\n");
myprint(a,n);
printf("\n\nBubble Sort:\n");
bubblesort(a,n);
printf("\n\nResult:\n");
myprint(a,n);
printf("\n\n");
}
已经通过编译运行,正确!
虽然感觉不困难,可是既然你要求的如此清晰,思路该没有问题的,该自己写的!感觉你会,所以感觉对你来说5分对此题少太了点。呵呵!

热心网友 时间:2022-05-02 09:56

#include "stdio.h"
#include "conio.h"

void sort(int *p,int n)
{
int i,j,temp,m=n;
for(;n > 1;n--)
{
if(n == m)
printf("\nBubble Sort\n");
printf("(");
for(i = 0, j = 1; j < n; j++,i++)
{
if(p[i] > p[j])
{
temp = p[i];
p[i] = p[j];
p[j] = temp;

}
printf("%d ",p[i]);

}
printf(")");
for(i = n-1 ; i < m; i++)
printf("%d ",p[i]);
printf("\n");
}
}
main()
{
int i,*array,n;

scanf("%d",&n);
array = (int *)malloc(n*sizeof(int));
if(array == NULL)
{
printf("error!");
exit(1);
}

for(i = 0; i< n;i++)
scanf("%d",&array[i]);

printf("Source\n");
for(i = 0; i< n;i++)
printf("%d ",array[i]);
sort(array,n);

printf("\nResult\n");
for(i = 0; i< n;i++)
printf("%d ",array[i]);

getch();
}
输出格式导致代码太乱。。。参考下吧

热心网友 时间:2022-05-02 11:48

我怎么看着像选择法?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
情侣文案英文高级浪漫87句 Love to the people don't wave.什么意思 gladtomeetyou怎么 gladtomeetyou.怎么回答 2016生肖猴运程 武汉买房88平方满50万落户政策 非武汉市户口在武汉市购买70平方总价50万的商品房,可以转户口吗... 我想在武汉买一套50万左右的新房子,谁能告诉我现在武昌,关山,江夏,有... 支付宝怎么开通步数授权? 总价50万能在武汉买一套两室一天的二手房吗? 关于C++冒泡排序的应用 冒泡排序有什么应用? 获得到商标注册证后还应该注意什么 商标注册后该注意什么 注册完商标如何使用 注册个人商标怎样使用 商标注册成功后怎么使用,请尽快告知 商标注册成功后如何使用 会计分录题 苹果xs max亮屏玩手机时来了一条验证码短信,我点了关闭之后。信息里面找不到那条短信了。 应收账款债权转让会计分录 vivo手机打开联系人显示从云端恢复和从存储设备导入是怎么回事? 收回转销的应收账款的会计分录? iPhonexs max手机开机的时候一直在白苹果的界面怎么办? 应收账款以不附追索权的方式出售给银行相关会计分录题 iphonexs频繁无服务 应收账款会计分录怎么写? iphonexs耗电太快了怎么办 应收账款怎么冲回,会计分录怎么做 应收账款怎么做会计分录? 冒泡排序的问题 c++冒泡排序法 it. java 冒泡排序 求详细解说 此图为例,循环顺序等等! ...具体要求: 1、熟悉和了解冒泡排序的算法思想和基本理论,并通过设 ... Java中的ArrayList怎么进行冒泡排序 C++ 冒泡排序法 C++冒泡排序的基本思想和步骤 C语言冒泡排序不太理解 证明冒泡排序的正确性 pascal冒泡排序 冒泡排序法 主要搞不懂 三个for语句怎么执行的? 有先后顺序么?_百度... c语言冒泡排序法的太多不懂 麻烦Java大神教教我 冒泡排序跟选择排序 C语言:采用冒泡排序方法,对10个数按由小到大的的顺序排序 字符串的冒泡排序(一定要用c语言) 身为一名教师 应该要具备哪些品德? 教师职业道德有哪些? 教师的道德规范是什么? 教师职业道德 社会主义教师道德品质名词解释