O_o 发表于 2010-6-23 08:34

数字排序,写出你认为最快最简单的代码

本帖最后由 O_o 于 2010-6-23 08:40 编辑

给一个多位数字,将这个数字拆散重新组合,然后得出一个最大数和最小数。
如:给出的是:2134
得出的min:1234 max:4321
就这样的,写出你认为最快最简单的代码。

jonny_yue 发表于 2010-6-23 08:40

排序算法~   可惜我不会Delphi

O_o 发表于 2010-6-23 08:44

回复 2# jonny_yue


    随便什么语言都无所谓啦! 玩下呗!

顺利哥 发表于 2010-6-23 08:49

沙发不知所谓 飘过 飘过

jonny_yue 发表于 2010-6-23 09:24

本帖最后由 jonny_yue 于 2010-6-23 09:28 编辑

#include <iostream>
using namespace std;

void main()
{
      int a;
      for (int i=0; i<10; i++)
      {
                a=0;
      }
      char ch=getchar();
      while (ch != '\n')
      {
                a++;   //这里郁闷了好久~~~~
                ch=getchar();
      }
      cout<<"MIN=";
      for (int i=0; i<10; i++)
      {
                for (int j=0; j<a; j++)
                {
                        cout<<i;
                }
      }
      cout<<"    MAX=";
      for (int i=9; i>-1; i--)
      {
                for (int j=0; j<a; j++)
                {
                        cout<<i;
                }
      }
      system("pause");
}
貌似我编的太麻烦   好久没编了   请教一个问题   char ch ;   ch='5'   ;    怎么直接使用5这个数值

O_o 发表于 2010-6-23 09:58

回复 5# jonny_yue


    我怎么编译有错误呢?

只有强制转换吧!

O_o 发表于 2010-6-23 10:54

没人回复额,把我写的垃圾代码贴上来吧! 用了很多次强制转换蛮慢。


function Taxis(int: integer; MaxToMin: Boolean): Integer;
var
i , j : Integer;
s , x : String;
begin
s := IntToStr(int);
if MaxToMin then
begin
    for i := 1 to Length(s) do
    begin
      for j := i +1 to Length(s) do
      begin
      if StrToInt(s) > StrToInt(s)then
      begin
          x := s;
          s := s;
          s := x;
          end;
      end;
    end;
end
else
begin
    for i := 1 to Length(s) do
    begin
      for j := i +1 to Length(s) do
      begin
      if StrToInt(s) < StrToInt(s)then
      begin
          x := s;
          s := s;
          s := x;
      end;
      end;
    end;
end;
Result := StrToInt(s);
end;

Hsueh.L 发表于 2010-7-21 17:33

快排一定快
页: [1]
查看完整版本: 数字排序,写出你认为最快最简单的代码