找回密码
 注册
X系列官方授权正版
搜索
查看: 1656|回复: 13

[求助] HOW

[复制链接]
发表于 2008-12-22 10:42:30 | 显示全部楼层 |阅读模式
要求显示一个数列,随便输入N个数然后从大到小排列。



PS.貌似BBS丢了不少图标啊
 楼主| 发表于 2008-12-22 19:26:44 | 显示全部楼层
这个不行么?
PS:貌似BBS的样子大变啊……
[S::$:]
回复

使用道具 举报

发表于 2008-12-23 14:45:34 | 显示全部楼层
C不懂,以前玩Basic的时候写过。
PS:存在的就是合理的。
回复

使用道具 举报

发表于 2008-12-23 15:44:57 | 显示全部楼层
[S::):] 感觉最简单的就是冒泡法:

1、所有数字存入一个数组;
2、遍历这个数组(从第一个元素到倒数第二个元素),如果某一个元素小于它的下一个元素,则把此元素与下一个元素交换位置;
3、重复步骤2,直到没有元素交换位置。

用C#做过这个,一会回家试试看能不能用C++写出来,C++扔下太久了,有很多基本的东西都忘了。

如果是要升序排列,就把步骤2的小于改成大于。

好像这种方法效率不高,有些更有效率的方法,不过没试过。。这个冒泡法最简单了。
回复

使用道具 举报

 楼主| 发表于 2008-12-23 16:56:06 | 显示全部楼层
怎么判断没有需要交换位置的元素呢。。。。。。。。
回复

使用道具 举报

发表于 2008-12-23 17:01:54 | 显示全部楼层
冒泡法其实就是一个数一个数比较,结果就是冒泡排序。。。
回复

使用道具 举报

发表于 2008-12-23 17:56:49 | 显示全部楼层
把所有的数遍历一遍到最后顺序必然已经排好了, 不需要判断......
回复

使用道具 举报

发表于 2008-12-23 18:35:59 | 显示全部楼层
以下代码在VS2005中测试通过,只是有些地方写的比较笨,因为是控制台程序,执行结果一闪而过,我想不起怎样实现“按任意键继续...”了,于是在return 0;那句上设置断点,以此来观察程序的执行结果,嘿嘿嘿...

  1. int _tmain(int argc, _TCHAR* argv[])
  2. {
  3.         int a[9] = {8,9,5,7,2,3,6,1,4};  //排序这些数字
  4.         int i, ii, temp;                                               
  5.        
  6.         for (;;)  //死循环
  7.         {
  8.                 ii = 1;  //很笨的判断,我忘记怎样在C++中使用逻辑变量了,懒得查资料了...
  9.                 for (i = 0; i < 8; i++)
  10.                 {
  11.                         if (a[i] < a[i+1])
  12.                         {
  13.                                 temp = a[i];  //如果... 那么开始交换
  14.                                 a[i] = a[i+1];
  15.                                 a[i+1] = temp;
  16.                                 ii = 0;  //用 ii 的值来判断是否发生过交换
  17.                         }
  18.                 }

  19.                 if (ii == 1) { break; }  //如果再没有交换发生,那就完成排序,切断死循环
  20.         }
  21.        
  22.         for (i = 0; i < 9; i++)  //输出结果
  23.         { printf("%d\n",a[i]); }


  24.         return 0;
  25. }
复制代码
回复

使用道具 举报

 楼主| 发表于 2008-12-23 19:12:57 | 显示全部楼层
如果是用LABVIEW就简单乐……
[S::$:]
回复

使用道具 举报

发表于 2008-12-23 19:35:41 | 显示全部楼层
写代码俺苯的很{:4_112:}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|DeepTimes.NET 太空游戏站