排序输入的小写英文字符。
program BubbleSorter;
var
n, i, j : integer;
t : char;
st : array[1 .. 100] of char;
noswap : boolean;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 1 to n do
begin
noswap := true;
for j := 1 to n-i do
if st[j] > st[j+1] then
begin
t := st[j];
st[j] := st[j+1];
st[j+1] := t;
noswap := false;
end;
if (noswap) then break;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program InsertSorter1;
var
n, i, j : integer;
m : char;
st : array[1 .. 100] of char;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 2 to n do
begin
m := st[i];
for j := i-1 downto 1 do
if (st[j] > m) then
st[j+1] := st[j]
else
break;
if (j = 1) and (st[j] > m) then
st[j] := m
else
st[j+1] := m;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program InsertSorter2;
var
n, i, j : integer;
m : char;
st : array[1 .. 100] of char;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 2 to n do
begin
m := st[i];
j := i-1;
while (j > 0) and (st[j] > m) do
begin
st[j+1] := st[j];
j := j-1;
end;
st[j+1] := m;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program StraightSelectSorter;
var
n, i, j, p : integer;
t : char;
st : array[1 .. 100] of char;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 1 to n-1 do
begin
p := i;
for j := i+1 to n do
if st[j] < st[p] then
p := j;
t := st[i];
st[i] := st[p];
st[p] := t;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program SortStatisticser;
var
n, i : integer;
j : char;
st : array[1 .. 100] of char;
ch : array['a' .. 'z'] of integer;
begin
readln(n);
for i := 1 to n do
begin
read(st[i]);
ch[st[i]] := ch[st[i]]+1;
end;
for j := 'a' to 'z' do
for i := 1 to ch[j] do
write(j, ' ');
readln;
readln;
end.
var
n, i, j : integer;
t : char;
st : array[1 .. 100] of char;
noswap : boolean;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 1 to n do
begin
noswap := true;
for j := 1 to n-i do
if st[j] > st[j+1] then
begin
t := st[j];
st[j] := st[j+1];
st[j+1] := t;
noswap := false;
end;
if (noswap) then break;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program InsertSorter1;
var
n, i, j : integer;
m : char;
st : array[1 .. 100] of char;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 2 to n do
begin
m := st[i];
for j := i-1 downto 1 do
if (st[j] > m) then
st[j+1] := st[j]
else
break;
if (j = 1) and (st[j] > m) then
st[j] := m
else
st[j+1] := m;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program InsertSorter2;
var
n, i, j : integer;
m : char;
st : array[1 .. 100] of char;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 2 to n do
begin
m := st[i];
j := i-1;
while (j > 0) and (st[j] > m) do
begin
st[j+1] := st[j];
j := j-1;
end;
st[j+1] := m;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program StraightSelectSorter;
var
n, i, j, p : integer;
t : char;
st : array[1 .. 100] of char;
begin
readln(n);
for i := 1 to n do
read(st[i]);
for i := 1 to n-1 do
begin
p := i;
for j := i+1 to n do
if st[j] < st[p] then
p := j;
t := st[i];
st[i] := st[p];
st[p] := t;
end;
for i := 1 to n do
write(st[i], ' ');
readln;
readln;
end.
program SortStatisticser;
var
n, i : integer;
j : char;
st : array[1 .. 100] of char;
ch : array['a' .. 'z'] of integer;
begin
readln(n);
for i := 1 to n do
begin
read(st[i]);
ch[st[i]] := ch[st[i]]+1;
end;
for j := 'a' to 'z' do
for i := 1 to ch[j] do
write(j, ' ');
readln;
readln;
end.


浙公网安备 33010602011771号