Rev 737 | Rev 747 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 737 | Rev 740 | ||
---|---|---|---|
Line 49... | Line 49... | ||
49 | end; |
49 | end; |
50 | 50 | ||
51 | procedure FreeList(list: PStringList); |
51 | procedure FreeList(list: PStringList); |
52 | begin |
52 | begin |
53 | if list^.next <> nil then |
53 | if list^.next <> nil then |
54 | FreeMem(list^.next, SizeOf(TStringList)); |
54 | FreeList(list^.Next); |
55 | FreeMem(list, SizeOf(TStringList)); |
55 | FreeMem(list, SizeOf(TStringList)); |
56 | end; |
56 | end; |
57 | 57 | ||
58 | function ListContains(list: PStringList; val: string): boolean; |
58 | function ListContains(list: PStringList; val: string): boolean; |
59 | var |
59 | var |
Line 280... | Line 280... | ||
280 | 280 | ||
281 | procedure ListBubbleSortNumericString(list: PStringList); |
281 | procedure ListBubbleSortNumericString(list: PStringList); |
282 | var |
282 | var |
283 | n, i: integer; |
283 | n, i: integer; |
284 | a, b: string; |
284 | a, b: string; |
- | 285 | swapped: boolean; |
|
285 | begin |
286 | begin |
286 | n := ListCount(list); |
287 | n := ListCount(list); |
287 | while n>1 do |
288 | while n>1 do |
288 | begin |
289 | begin |
289 | i := 0; |
290 | i := 0; |
- | 291 | swapped := false; |
|
290 | while i<n-1 do |
292 | while i<n-1 do |
291 | begin |
293 | begin |
292 | a := ListGetElement(list, i); |
294 | a := ListGetElement(list, i); |
293 | b := ListGetElement(list, i+1); |
295 | b := ListGetElement(list, i+1); |
294 | if CompareNumericString(a, b) > 0 then |
296 | if CompareNumericString(a, b) > 0 then |
295 | begin |
297 | begin |
296 | ListSwapElement(list, i, i+1); |
298 | ListSwapElement(list, i, i+1); |
- | 299 | swapped := true; |
|
297 | end; |
300 | end; |
298 | Inc(i); |
301 | Inc(i); |
299 | end; |
302 | end; |
- | 303 | if not swapped then break; |
|
300 | Dec(n); |
304 | Dec(n); |
301 | end; |
305 | end; |
302 | end; |
306 | end; |
303 | 307 | ||
304 | end. |
308 | end. |