永发信息网

Pascal 字符串排序

答案:4  悬赏:20  手机版
解决时间 2021-04-29 23:54

就相当于把人名按照字典顺序来排序

如:

输入

  bax

  abc

  krd

输出

  abc

  bax

  krd

最佳答案

快速排序:


var
 a:array[1..10000] of ansistring;
 n:longint;
procedure init;
 var
  i:longint;
 begin
  readln(n);
  for i:=1 to n do readln(a[i]);
 end;
procedure swap(var s1,s2:ansistring);
 var
  s3:ansistring;
 begin
  s3:=s1;
  s1:=s2;
  s2:=s3;
 end;
procedure sort(r,l:longint);
 var
  i,j:longint;
  c:ansistring;
 begin
  i:=r;
  j:=l;
  c:=a[random(j-i+1)+i];
  repeat
   while a[i]<c do inc(i);
   while a[j]>c do dec(j);
   if not(i>j) then
    begin
     swap(a[i],a[j]);
     inc(i); dec(j);
    end;
  until i>j;
  if i<l then sort(i,l);
  if j>r then sort(r,j);
 end;
procedure ou;
 var
  i:longint;
 begin
  for i:=1 to n do writeln(a[i]);
 end;
begin
 init;
 randomize;
 sort(1,n);
 ou;
end.


冒泡排序:


var
 a:array[1..10000] of ansistring;
 n,i,j:longint;
 c:ansistring;
begin
 readln(n);
 for i:=1 to n do readln(a[i]);
 for i:=1 to n do
  for j:=i to n do
   if a[i]>a[j] then
    begin
     c:=a[i];
     a[i]:=a[j];
     a[j]:=c;
    end;
 for i:=1 to n do writeln(a[i]);
end.

全部回答

其实没有那么麻烦的,你可以试试,在pascal中,是可以让字符串直接比较大小的,

   就像    if  s1 > s2 then writeln(s1);

    这是合法的,至于是按 字典顺序比较 还是 按字典顺序我没试过,反正没有影响,你试试吧

= =这答案我试过了 是错误的

var
i,j,k,n:longint;
a:array[1..1000]of string;
procedure qsort(s,t:longint);
var i,j:longint; q,m:string;
begin
i:=l; j:=r; m:=a[random(t-s+1)+s];
repeat
while a[i]<m do inc(i);
while a[j]>m do dec(j);
if i<=j then begin
q:=a[i]; a[i]:=a[j]; a[j]:=q; inc(i); dec(j); end;
until i>j;
if s<j then qsort(s,j);
if i<t then qsort(i,t);
end;
begin
randomize;
readln(n);
for i:=1 to n do readln(a[i]);
qsort(1,n);
for i:=1 to n do writeln(a[i]);
end.
随机化快排版

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如果使用电脑时突然停电 。 会影响程序么?
五百元能买到索尼数码像机吗?
尚优玛特生活超市(林鸣店)地址有知道的么?有
寂寞河流的歌曲
现代诗歌的格式怎样写?
宝宝五十多天时有鞘膜积液现在四个月了没吸收
舟曲哀悼祝福语
日常小知识你知道多少
宰相制度从何时消亡
怎么样才能做个随和的人?
描写山茶的句子,关于山茶的诗句
各位帮我一下农历1992大年夜是阳历多少号
诺基牙X3多少钱
海南中山财经学校中心幼儿园我想知道这个在什
我的兄弟和我喜欢上一个女的
推荐资讯
红枣夹核桃什么意思,核桃和红枣一起吃有什么
在那些城市可以看得到今年的英仙座流星雨
多少岁的人才称得上是花季少年?
求作文《读书的乐趣》 800字
给我个爱墙种子吧
从湖南常德到河北的铁路线是否能通行
多普达s1的来电默认铃声?
波黑能进2010世界杯吗
怎么折纸飞机飞得久,怎么折纸飞机飞的最远
问什么我的QQ空间的添加应用里没有QQ餐厅
七夕有什么好的
在淘宝买东西,我用的网银付钱的,确认收货的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?