| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 726 人关注过本帖
标题:[求助]帮帮我
只看楼主 加入收藏
yyh85
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-3-26
收藏
 问题点数:0 回复次数:5 
[求助]帮帮我
编程题:           输入3个int数,按由大到小顺序输出
搜索更多相关主题的帖子: int 顺序 输出 输入 
2005-03-26 20:57
nolove
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2004-11-24
收藏
得分:0 
我只给算法,具体怎么写还得靠你自己 1. 基本思想:   两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 2. 排序过程: step1 将关键字按纵向排列,然后自下而上地对每两个相邻的关键字进行比较,若饿日为逆序(即kj-1>kj),则将两个记录交换位置,这样的操作反复进行,直至全部记录都比较、交换完为止。一趟冒泡处理,就将关键字最小的记录安排在第一记录的位置上。 step2 对后n-1个记录重复同样操作,再将次小关键字记录安排在第二个记录的位置上。 Step3 重复上述过程直至没有记录需要交换为止。

3、算法分析:最坏情况,比较(n2-n)/2次,移动(n2-n)*3/2。算法时间复杂度O(n2)。 【示例】: 49 13 13 13 13 13 13 13 38 49 27 27 27 27 27 27 65 38 49 38 38 38 38 38 97 65 38 49 49 49 49 49 76 97 65 49 49 49 49 49 13 76 97 65 65 65 65 65 27 27 76 97 76 76 76 76 49 49 49 76 97 97 97 97

Procedure BubbleSort(Var R : FileType) //从下往上扫描的起泡排序// Begin For I := 1 To N-1 Do //做N-1趟排序// begin NoSwap := True; //置未排序的标志// For J := N - 1 DownTo 1 Do //从底部往上扫描// begin If R[J+1]< R[J] Then //交换元素// begin Temp := R[J+1]; R[J+1 := R[J]; R[J] := Temp; NoSwap := False end; end; If NoSwap Then Return//本趟排序中未发生交换,则终止算法// end End; //BubbleSort//


[glow=400,#0033FF,2]多情自古傷離別 更那堪冷落清鞦節 今宵酒醒何處 楊柳岸曉風殘月 此去經年 應是良辰好景虛設 便縱有韆種風情 更與何人說[/glow] " target="_blank">http://www.
2005-03-28 11:09
bingxue2332
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:446
专家分:0
注 册:2004-11-6
收藏
得分:0 
#include <iostream.h> int main() { int a,b,c; cout<<"Please input the three numbers:"<<endl; cin>>a>>b>>c; if(a<b) //的传给a { int temp = a; a = b; b = temp; } if(b<c) { temp = c; c= b; b = temp; } cout<<a<<b<<c<<endl; } 晕了 没有调试 自己看看!

2005-03-28 13:14
紫色的蜗牛
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-3-22
收藏
得分:0 

版主,你那个错了, #include <iostream.h> int main() { int a,b,c;int temp; cout<<"Please input the three numbers:"<<endl; cin>>a>>b>>c;

if(a<b) //的传给a { temp = a; a = b; b = temp; } if(a<c) { temp = a; a= c; c = temp; }

if(b<c) { temp=b; b=c; c=temp; } cout<<a<<'\t'<<b<<'\t'<<c<<endl;

} 还有待何改


2005-03-29 19:01
whbyxy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-3-29
收藏
得分:0 
#include "iostream.h"
void sort(int k[],int count);
int main()
{
const int MAX=100;
int a[MAX];
int i,k,x;
for(i=0;i&lt;MAX;i++)
              a[i]=0;
x=0;
do
{
cin&gt;&gt;k;
if(k==9999)
break;
a[x]=k;
x++;
}while(1);
sort(a,x);
for(i=0;i&lt;x;i++)
cout&lt;&lt;a[i]&lt;&lt;"    ";
return 1;
}
void sort(int k[],int count)
{
int i,j,temp;
for(i=0;i&lt;count;i++)
    for(j=0;j&lt;count-i;j++)
if(k[j]&lt;k[j+1])
{
temp=k[j];
k[j]=k[j+i];
k[j+i]=temp;
}
}

[此贴子已经被作者于2005-3-29 22:12:21编辑过]


2005-03-29 22:09
whbyxy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-3-29
收藏
得分:0 
编绎过了,正确的,放心的用吧
2005-03-29 22:13
快速回复:[求助]帮帮我
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031757 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved