Pascal冒泡排序

时间:2012-03-18 08:22:04

标签: pascal bubble-sort

我有一个项目,程序必须接受10个单词并按降序显示单词(Z-A的字母顺序) 使用气泡排序。 这是我目前所知道的:     程序样本;     使用crt;

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 个答案:

答案 0 :(得分:2)

这是Alister Christie在Bubble排序中描述原理的视频: http://codegearguru.com/index.php?option=com_content&task=view&id=64&Itemid=1

Pascal中的算法可以在http://delphi.wikia.com/wiki/Bubble_sort

找到

答案 1 :(得分:0)

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;