Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.08;
Скачать: CL | DM;

Вниз

сортировка вставкой   Найти похожие ветки 

 
аврам   (2008-12-27 20:55) [0]

народ как у меня есть строка: sadbmdfjsklsdjfkbsanamvsd
существует ли сортировка методом вставки для символов, как реализовать?


 
Сергей М. ©   (2008-12-27 21:01) [1]


> существует ли сортировка методом вставки для символов


Сортировка символов ничем не отличается от сортировки несимволов.


> как реализовать?


http://algolist.ru/sort/insert_sort.php


 
аврам   (2008-12-27 21:09) [2]

почему то не работает:

const N=255;
type array_type=array [1..N] of string;

procedure InsertSort(var x:array_type);
var
 i, j:integer;
 buf : string;
begin
 for i:=2 to N do
 begin
   buf:=x[i];
   j:=i-1;
   while (j>=1) and (x[j]>buf) do
   begin
     x[j+1]:=x[j];
     j:=j-1;
   end;
   x[j+1]:=buf;
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 stroka:string;

 i:integer;
begin
 stroka := "fjshjdbvfjksad";
 for i:=0 to length(stroka)-1 do
 mass[i] := stroka[i];

 InsertSort(mass);
 for i:=0 to length(stroka)-1 do
 memo2.Lines.Add(mass[i])
end;


 
аврам   (2008-12-27 21:20) [3]

выскакивает ошибка памяти в процедуре сортировки :(


 
Сергей М. ©   (2008-12-27 21:27) [4]

Потому что ерунду написал.

Тебе что надо ? Процедуру сортировки символов.
А ты что написал ? Ты написал процедуру сортировки строк, а не символов.

Переделывай.

Вот тебе для затравки:

procedure InsertSort(var x:String);
begin
..
end;


 
аврам   (2008-12-27 21:33) [5]

спасибо, разобрался.



Страницы: 1 вся ветка

Текущий архив: 2009.02.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
6-1198218343
LexXL
2007-12-21 09:25
2009.02.08
проверить наличие файла на ftp


2-1230400513
аврам
2008-12-27 20:55
2009.02.08
сортировка вставкой


15-1228389664
ANB
2008-12-04 14:21
2009.02.08
Кризис добрался до меня


15-1228978388
Slider007
2008-12-11 09:53
2009.02.08
С днем рождения ! 11 декабря 2008 четверг


15-1229007794
Кто б сомневался
2008-12-11 18:03
2009.02.08
За смайлик ;-) теперь нужно платить 10000$