自己编写的c 冒泡排序序程序,运行时出现这种情况,怎么回事?

→ 请问老师 用系统自带语言实现冒泡排序可不可以??我下面的代码是不是可行?
&&共有<b style="color:#ff人关注过本帖主题:请问老师 用系统自带语言实现冒泡排序可不可以??我下面的代码是不是可行?
金字塔―专业程序化交易量化投资平台客户服务部
----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到
您的宝贵建议或者投诉,请发往邮箱:
金字塔―专业程序化交易量化投资平台客户服务部
----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到
您的宝贵建议或者投诉,请发往邮箱:
金字塔―专业程序化交易量化投资平台客户服务部
----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到
您的宝贵建议或者投诉,请发往邮箱:
金字塔―专业程序化交易量化投资平台客户服务部
----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到
您的宝贵建议或者投诉,请发往邮箱:
金字塔―专业程序化交易量化投资平台客户服务部
----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到
您的宝贵建议或者投诉,请发往邮箱:冒泡排序c程序 - 下载频道 - CSDN.NET
&&&&冒泡排序c程序
&冒泡排序c程序
本人自己编写的c代码,可以正常运行,实现冒泡排序
若举报审核通过,可奖励20下载分
被举报人:
jxxiongxiaozhi
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
评价资源返积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
冒泡排序c程序
所需积分:2
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:关于C++程序; 这是用冒泡排序法编写出来的。题目是“使用一维数组,求出十个数的最大数”。帮忙讲解一下。_百度知道
关于C++程序; 这是用冒泡排序法编写出来的。题目是“使用一维数组,求出十个数的最大数”。帮忙讲解一下。
i&int i,1;i++){ for(j=0;j++) {
if(*(p+j)&i&lt.h&for(i=0#include&size=sizeof(a)&#47,9,3;i++)
cout&lt,j,7;&lt,size-1;a[i]&
*(p+j+1)=void main(){int a[]={5,8;j&&lt,size,2;
*(p+j)=*(p+j+1);&size-i-1;;*(p+j+1))
temp=*(p+j),6},4,*p=a;sizeof(int);
} }} for(i=0
提问者采纳
但听说最好不要这么用第四行往下,当前者大于后者时,先让第0个元素,这个数组就完成排列了代码最后两行是按顺序输出数组的值,根本用不着冒泡排序吧……而且这个冒泡排序,第0元素即为当前数组里最小的因为每次都让更小的元素归到第0的位置然后再让第1个元素跟后续的那些元素比较,temp是交换用的中间变量,跟第2个元素比较,得到的是a的数组长度:定义一个整数数组,应该是从小到大排列的,size是数组长度第三行,然后让一个整形指针指向这个数组(的头部)第二行。如果你题目只是取最大值的话,居然是用指针的……第一行,直到第0元素比第size-1元素当第0个元素跟其它所有元素比较过后,跟第1个元素比较:用a的内存长度,除以int型的内存长度,同样规则交换,每次都把小数往前移最后比较到第size-2跟第size-1个元素完成后:循环开始具体方法就是,交换两者的值然后让第0个元素如果光是求“最大数”的话:定义ij两个循环计量,以此类推,根本不用这么写
嗯。是取最大值,那应该怎么写呢?要求就是用冒泡排序法写这个。
只用一次比较就可以了。for(i=1;i&i++){
if(a[i]&a[0]){temp=a[i];a[i]=a[0];a[0]=}}比完一次,最后a0就是最大的。而且楼下说得好,画图是理解程序的必要步骤。
提问者评价
3q,我懂啦!
其他类似问题
为您推荐:
其他4条回答
大数放后冒泡排序的思想:首先比较第1个和第2个数:依次比较相邻的两个数,大数放后:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,将小数放前,重复以上过程,直至最终完成排序,使得第1个数不再小于第2个数),将小数放前,将小数放前。如此下去。然后比较第2个数和第3个数,直至比较最后两个数。在第二趟。至此第一趟结束,大数放后,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数),将小数放前,第二趟结束,将最大的数放到了最后,大数放在后面,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),大数放后。即在第一趟,如此继续,将小数放在前面
这是冒泡法,求任意长度数组的升序排列,sizeof(a)/sizeof(int)是求该数组元素个数。指针p指向数组a首元素,两个for循环是经典的冒泡排序算法,建议LZ自己用笔画下程序每步骤,就很容易理解冒泡排序了,都是这样学过来的,只看不容易明白的。
冒泡排序一般是:首先明确目的——把最大的元素冒到最尾巴上去,并且尽量少的交换次数。方法:选定从第一个元素并且把它赋给中间变量(另设一个如:t)-& 与下一个元素数比较 -& 若是比较大则把比较小的那个数存在第一个元素的位置;否则,把较大的那个数赋给t -& 然后重复与下一个元素进行比较,继续调换,规则一样。
到尾巴结束。再从尾巴开始,把最小的元素往回冒到第一个。然后以第二个元素为开头继续上面的操作。。。。我想这可能是你不懂的地方吧。具体的,如何操作,在这些提示的基础上去看代码。要学会阅读代码。有了思想,读代码就会有一个比较清晰的方向了
for(j=0;j&size-i-1;j++) {
if(*(p+j)&*(p+j+1))
temp=*(p+j);
*(p+j)=*(p+j+1);
} }通过这样的循环,if语句控制的就是只要前面的数(*(p+j))比后面的数(*(p+j+1))大,就交换位置,一遍循环下来,数组中最大的数自然到了a[size-1]的位置上了;然后外循环余下的最大数就到了a[size-1-1]的位置上了,因为与a[size-1]上的数比较时,它肯定小余第一次的最大数,所以不会发生交换;依此类推就实现了排序功能,这就是冒泡排序。
冒泡排序法的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁编写程序,使用“冒泡排序法”实现任意十个数的排序_百度知道
编写程序,使用“冒泡排序法”实现任意十个数的排序
i&10-i:&&j&lt:&& cout&/从小到大排序; &请输入10个数;; for(i=1;/j++)
/,tM for(i=0,i;&&sort[j+1]){
tMax = sort[j];
sort[j+1] = tMi++)
sort[j] = sort[j+1];i++)
/iostream&i&&=9;sort[i];&lt/10;
cout&&&C++下的冒泡排序#include &第i趟需要10-i次比较
if(sort[j]&int main(){ int sort[10],j;
for(i=0;10;10个数需要10-1趟比较
for(j=0;sort[i]&&i&i++)
其他类似问题
为您推荐:
其他1条回答
望采纳;已沉底的数(大数的个数) For i = 1 To 10 - n
&#39, j As Integer Static n As Integer
&#39;9-i次比较
If a(j) &gt. Dim m,大数沉底;对剩余数进行排序
For j = 0 To 9-i
&#39; a(j + 1) Then
a(j) = a(j + 1)
a(j + 1) = m
&#39这是VB编的冒泡法代码
冒泡排序法的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前位置: >
> 编写一个函数模版,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数 //模版的完整程序,使得函数调用时,数组的类型可以是整数也可以是双精度型。该如何解决
编写一个函数模版,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数 //模版的完整程序,使得函数调用时,数组的类型可以是整数也可以是双精度型。该如何解决
tedyding & at
编写一个函数模版,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数 //模版的完整程序,使得函数调用时,数组的类型可以是整数也可以是双精度型。#include&iostream&template&typename t&class paixu{ t* public: paixu(t* data,int m):set(data),n(m){} void sort();};template&typename t&void paixu&t&::sort(){
for(int i=1;i&n;i++)
for(int j=1;j&=n-j;j++)
if(set[j]&set[j+1])
temp=set[j];
set[j]=set[j+1];
} for(int j=0;j&n;j++)
cout$<$set[j]$<<$ &; cout$<$}int main(){ int a[]={1,3,2,7,5,9}; double b[]={6.6,9.9,7.7,8.8,4.4,2.2}; paixu&int&p1(a,6); p1.sort(); paixu&double& p2(b,6); p2.sort(); char c[]={'a','c','r','b'}; paixu&char&p3(c,4); p3.sort(); return 0;}为什么double型的就是不行,我是在vs2008里面编译的
楼主,排序写错了,这两句对应改一下:for(int i=0;i&n;i++)for(int j=0;j&n-1;j++)
hongmeng88 & &
& & (0)(0)探讨引用:C/C++ codetemplate&typename t&void paixu&t&::sort(){for(int i=1;i&n;i++)for(int j=1;j&=n-j;j++)if(set[j]&set[j+1]){temp=set[j];set[j]=set[j+1];set[j+1]=te……
hongmingli & &
& & (0)(0)楼主的代码,整型也有问题,你把整型数组的第一个值换个大一点的比如8,你的冒泡排序有问题,把第一个数给丢了,void paixu&t&::sort(){ & &for(int i=0;i&n;i++) &for(int j=0;j&n-i-1;j++) &if(set[j]&set[j+1]) &{ temp=set[j]; &set[j]=set[j+1]; &set[j+1]= &} &for(int j=0;j&n;j++) &cout$<$set[j]$<<$ &; &cout$<$}
hongmin08 & &
& & (0)(0)亲,冒泡法就是两两交换元素,我这样写只是多交换了几次,都是冒泡排序。你刚才就是这写错了吧。。  C/C++ code  for(int i=0;i&n;i++)
for(int j=0;j&n-1;j++)hongmin & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-}

我要回帖

更多关于 冒泡排序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信