比较字符串的大小

beil0eve 2018-11-08 03:00:15
a1,a2,a3...a10:integer;
怎么比较这10个变量的大小并自动排序?
比如 a1=30;
a2=33
a3=503
.
.
.
a9=21
a10=5;
按赋值的大小自动排序
...全文
1908 57 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
57 条回复
切换为时间正序
请发表友善的回复…
发表回复
huang714 2019-02-14
  • 打赏
  • 举报
回复
procedure TForm12.Button1Click(Sender: TObject);
var
aa: Array [0 .. 3] Of integer;
i: integer;
a0,a1,a2,a3:Integer;
begin
aa[0] := 30;
a0:=30;
aa[1] := 33;
a1:=33;
aa[2] := 503;
a2:=503;
aa[3] := 21;
a3:=21;

Sort(aa);
for i := 0 to high(aa) do
begin
if aa[i] = a0 then
Memo1.Lines.Add('a0='+inttostr(aa[i]));
if aa[i] = a1 then
Memo1.Lines.Add('a1='+inttostr(aa[i]));
if aa[i] = a2 then
Memo1.Lines.Add('a2='+inttostr(aa[i]));
if aa[i] = a3 then
Memo1.Lines.Add('a3='+inttostr(aa[i]));
end;
end;

procedure TForm12.Sort(var x: array of integer);
var
i, j, l: integer;
begin
for i := 0 to high(x) do
begin
for j := 0 to high(x) - 1 do
begin
if x[j] > x[j + 1] then
begin
l := x[j];
x[j] := x[j + 1];
x[j + 1] := l;
end;
end;
end;
end;

结果如下:
a3=21
a0=30
a1=33
a2=503
一扁舟 2018-12-18
  • 打赏
  • 举报
回复
库函数里面qsort可以解决
SaibeiStar 2018-11-27
  • 打赏
  • 举报
回复
这是涉及数据结构了吧,就那几个算法,学校都学过的
无敌的黑星星 2018-11-21
  • 打赏
  • 举报
回复
把这几个数添加到treehasp然后遍历输出
「已注销」 2018-11-21
  • 打赏
  • 举报
回复
数组,for循环
治政 2018-11-21
  • 打赏
  • 举报
回复
进来学习一下。
未小伤 2018-11-20
  • 打赏
  • 举报
回复
放进treeSet里
宋_小_梦 2018-11-18
  • 打赏
  • 举报
回复
这很简单呀,如果数是唯一的就用集合TreeSet,如果不唯一就用ArrayList,传进去,Integer,用迭代器Iterator遍历比较,里面差不多也就是个简单的冒泡法
qq_38894398 2018-11-17
  • 打赏
  • 举报
回复
数据结构中那么多实现方法,建议自行查阅书籍
lyhoo163 2018-11-17
  • 打赏
  • 举报
回复
if_i_were_a 2018-11-16
  • 打赏
  • 举报
回复
用,treemap自动排序,楼主可以试一下
彩鸽咕咕咕 2018-11-16
  • 打赏
  • 举报
回复
变成int型在比较???
int a1=a1-‘0’;
xiaoxiangqing 2018-11-16
  • 打赏
  • 举报
回复
可以自己写,也可以用库里自带的
sinat_27672373 2018-11-16
  • 打赏
  • 举报
回复
用arraylist,直接sort即可
Fdm_csdn 2018-11-16
  • 打赏
  • 举报
回复
学习了,谢谢!
weixin_43701752 2018-11-15
  • 打赏
  • 举报
回复
冒泡排序法噢
LXL110306 2018-11-15
  • 打赏
  • 举报
回复
直接用Map不可以吗?
map<int,string> key存变量的值,string存变量名....
  • 打赏
  • 举报
回复
这样声明:
procedure BubbleSort(b:array of Pint);
会产生复制数组
改成:
procedure BubbleSort(const b:array of Pint);
就可以直接排序了
doloopcn 2018-11-15
  • 打赏
  • 举报
回复
楼主的需求应该就是变量地址不变,变量值排序
doloopcn 2018-11-15
  • 打赏
  • 举报
回复
这么多人跟贴????都以为自己进错版块了。。。。。。

procedure TForm1.Button1Click(Sender: TObject);
var
a1,a2,a3,a4,a5:Integer;
aa:array [0..4] of Pint;
i,j:Integer;
procedure BubbleSort(b:array of Pint);
var
i,j,p:Integer;
t:Pint;
a:array of Integer;
begin
SetLength(a,Length(b));
for i:=Low(B) to High(B) do
a[i]:=b[i]^;
for i:=Low(A) to High(A)-1 do
for j:=i+1 to High(A) do
if a[i]>a[j] then
begin
p:=a[i];
a[i]:=a[j];
a[j]:=p;
end;
for i:=Low(B) to High(B) do
b[i]^:=a[i];

end;
begin
a1:=20;
a2:=40;
a3:=10;
a4:=50;
a5:=30;
Memo1.Lines.Clear;
Memo1.Lines.Add(Format('Befroe Value:A1 = %d, A2 = %d, A3 = %d, A4 = %d, A5 = %d',[a1,a2,a3,a4,a5]));
BubbleSort([@a1,@a2,@a3,@a4,@a5]);
Memo1.Lines.Add(Format('After Value:A1 = %d, A2 = %d, A3 = %d, A4 = %d, A5 = %d',[a1,a2,a3,a4,a5]));
end;
加载更多回复(37)

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧