文本框中输入一些数字字符,用逗号隔开,怎样用delphi实现从大到小排序

比如文本框中输入23,12,56,34,71点击按钮后在另一个文本框中输出12,23,34,56,71只是打个比方,数字是运行后随便输的。。。... 比如文本框中输入23,12,56,34,71
点击按钮后在另一个文本框中输出12,23,34,56,71
只是打个比方,数字是运行后随便输的。。。
展开
 我来答
灰天飞雁
2011-07-23 · TA获得超过248个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:250万
展开全部
//用记事本写的,可能有些bug

//快速排序
Procedure qsort(l,r:longint);
var i,j,x,y:longint;
  begin
  i:=l;j:=r;x:=a[random(r-l)+l];//随机化即可
    Repeat
    while a<x do inc(i);
    while a[j]>x do dec(j);
    if i<=j then
      begin
      y:=a;
      a:=a[j];
      a[j]:=y;
      inc(i);
      dec(j);
    end;
  until i>j;
  if i<r then qsort(i,r);
  if j>l then qsort(l,j);
end;

begin

S:=edit1.text;

top:=0;now:='';

for i:=1 to length(s) do
if s[i]=',' then begin inc(top);val(now,a[top],code);now:='';end else now:=now+s[i];
//如果最后还有一个数,将这个数纳入栈
if now<>'' then begin inc(top);val(now,a[top],code);end;
//排序
qsort(1,top);
s:='';
for i:=1 to top do
begin
str(a[i],now);
s:=s+now+',';
end;
//除去最后一个','
s:=copy(s,1,length(s)-1);
edit2.text:=s;

end;
追问
a是哪来的啊?
追答
a是一个整型数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yunlkong
2011-08-05 · TA获得超过5711个赞
知道大有可为答主
回答量:9695
采纳率:0%
帮助的人:1.9亿
展开全部
Procedure qsort(l,r:longint);
var i,j,x,y:longint;
begin
i:=l;j:=r;x:=a[random(r-l)+l];//随机化即可
Repeat
while a<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
y:=adf;
a:=a[j];
a[j]:=y;
inc(i);
dec(j);
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tendgzf
2011-07-24 · 知道合伙人教育行家
tendgzf
知道合伙人教育行家
采纳数:336 获赞数:1145
从事气体安全系统工程方面近十年,对气体安全方面有一定期了解,在国内安全类杂志上发表多篇论文。

向TA提问 私信TA
展开全部
转变成整数,存到数组中,排序后,再转成字符型,显示出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mit1208
2011-07-22 · TA获得超过2347个赞
知道大有可为答主
回答量:2743
采纳率:0%
帮助的人:1861万
展开全部
使用递归的方法进行比较,将值大的放后边,值小的放前边.
最后输出.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wawt_cn1
2011-07-25 · TA获得超过260个赞
知道小有建树答主
回答量:163
采纳率:100%
帮助的人:66万
展开全部
var tlist:tstringlist
i:integer;
begin
tlist.CommaText:=text1.text;
tlist.sort;
text2.text:=tlist.text;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式