Pascal Bubble Sort - PullRequest
       8

Pascal Bubble Sort

2 голосов
/ 18 марта 2012

У меня есть проект, в котором программа должна принимать 10 слов и отображать слова в порядке убывания (в алфавитном порядке от ZA) с помощью пузырьковой сортировки.Вот что я знаю до сих пор: пример программы;использует ЭЛТ;

TYPE 
    no._list=ARRAY(1...10)OF REAL; 
CONST 
    no.:no._list=(20.00,50.50.35.70....);
VAR 
    x:INTEGER; 
    small:REAL; 

BEGIN clrscr: 
    small:=no.(1); 
    FOR x:=2 TO 10 DO 
       IF small>number(x); 
       writeln('Smallest value in the array of no.s is',small:7:2); 
END

Я действительно не знаю, как это сделать, и могу воспользоваться какой-нибудь помощью.

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Вот видео Алистера Кристи о Bubble, описывающее принцип: http://codegearguru.com/index.php?option=com_content&task=view&id=64&Itemid=1

Алгоритм в Паскале можно найти @ http://delphi.wikia.com/wiki/Bubble_sort

0 голосов
/ 05 мая 2012
function BubbleSort( list: TStringList ): TStringList;
var
  i, j: Integer;
  temp: string;
begin
  // bubble sort
  for i := 0 to list.Count - 1 do begin
    for j := 0 to ( list.Count - 1 ) - i do begin
      // Condition to handle i=0 & j = 9. j+1 tries to access x[10] which
      // is not there in zero based array
      if ( j + 1 = list.Count ) then
        continue;
      if ( list.Strings[j] > list.Strings[j+1] ) then begin
        temp              := list.Strings[j];
        list.Strings[j]   := list.Strings[j+1];
        list.Strings[j+1] := temp;
      end; // endif
    end; // endwhile
  end; // endwhile
  Result := list;
end;
...