社区
C++ 语言
帖子详情
欢迎讨论,int a,b,c 按升序排列最高效算法!
whizstorm
2005-01-22 03:46:14
RT
...全文
254
11
打赏
收藏
欢迎讨论,int a,b,c 按升序排列最高效算法!
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wasltone
2005-01-23
打赏
举报
回复
楼上的。。
ASM,真是刷滑头。。
要不我给个机器码?
0110001001010 010010100100 0100 0010010100100010 01 00101 01
001010010 00101010010010 001001000100 010010101010 00 10 0101
10010100 0010010
..
^_^
nbb
2005-01-22
打赏
举报
回复
这个是效率最高的:
__asm
{
mov eax,a
mov ebx,b
mov ecx,c
cmp eax,ebx
jle g1
xchg eax,ebx
: g1
cmp ebx,ecx
jle exit
xchg ebx,ecx
cmp eax,ebx
jle exit
xchg eax,ebx
: exit
}
Lute
2005-01-22
打赏
举报
回复
对三个数最高效的算法是直接比较法,其实就是个决策树,效率是比较型排序算法的最优情况
O(nlogn),不过就和下面程序一样,判断太多了:
void Sort3Num(int a, int b, int c)
{
if(a<b)
{
if(b<=c)
cout<<a<<b<<c<<endl;
else if(b>=c && c>=a)
cout<<a<<c<<b<<endl;
else if(c<=a)
cout<<c<<a<<<<b<<endl;
}
else
{
if(a<=c)
cout<<b<<a<<c<<endl;
else if(a>=c && c>=b)
cout<<b<<c<<a<<endl;
else if(c<=b)
cout<<c<<b<<a<<endl;
}
}
To jsunnygirl(太阳的女儿):快排的效率在最坏情况下和普通冒泡差不多,效率比较稳定的是归并排序:)
pcboyxhy
2005-01-22
打赏
举报
回复
这个好像算法发挥的余地不是很大
jsunnygirl
2005-01-22
打赏
举报
回复
快速排序效率最高吧,算法是不是和待排个数无关啊
jameswwb
2005-01-22
打赏
举报
回复
if( a > b && !( c > b ) )
cout<< a << b << c;
这个是升序排列???有点不明白
goodluckyxl
2005-01-22
打赏
举报
回复
列举完全效率最高
if( a > b && !( c > b ) )
cout<< a << b << c;
whizstorm
2005-01-22
打赏
举报
回复
冒泡
int temp;
if(a>b)
{
temp = a;
a = b;
b = temp:
}
if(a>c)
{
temp = a;
a = c;
c = temp;
}
if(b>c)
{
temp = b;
b = c;
c = temp;
}
justoday
2005-01-22
打赏
举报
回复
就三个数吗?
yjh1982
2005-01-22
打赏
举报
回复
为了作业贴的鉴定,楼主得先给出自己的算法
算法
C++版
收集工作中经常遇到、经典的问题,抽象并给出交较优答案,方便同事优化、学习。用C++实现,本课程将持续更新,大约每周更新一章。包括但不限于: 一,二分查找原理...
int
>>中二分查找。 八,具体的例子。
C语言的
升序
排列
//
升序
排列
#include<stdio.h> void sort(
int
array[],
int
n); //排序函数声明 void swap(
int
*ex1,
int
*ex2); //交换函数声明
int
main() {
int
a[10],i; pr
int
f(“请输入要
排列
的数字:\n”); for(i=0;i<...
给定两个链表,每个链表都已经按
升序
排列
,设计
算法
实现将两个链表合并到一个
升序
链表中,返回合并后的链表
给定两个链表,每个链表都已经按
升序
排列
,设计
算法
实现将两个链表合并到一个
升序
链表中,返回合并后的链表
将数据按照奇偶排序使用input(
int
a[],
int
n)输入10个数,使用sort(
int
a[],
int
b[],
int
m)将10个整数按
升序
排列
输出,并且奇数在前,偶数在后。
使用input(
int
a[],
int
n)输入10个数,使用sort(
int
a[],
int
b[],
int
m)将10个整数按
升序
排列
输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1,3,5,7,9,2,4,6,8,10。完成input...
有序表A和B,其元素均按照从小到大
升序
排列
,编写一个
算法
将它们合并成一个顺序表C,要求C的元素也是从小到大的
升序
排列
。
有序表A和B,其元素均按照从小到大
升序
排列
,编写一个
算法
将它们合并成一个顺序表C,要求C的元素也是从小到大的
升序
排列
。
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章