線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:966
推到 Plurk!
推到 Facebook!

數字比較

答題得分者是:supman
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-30 11:45:23 IP:202.175.xxx.xxx 未訂閱
var q,w,e,r,t,y 等等,都是integer 如果我要比較他們大小 用什麼方法最快.謝謝回答
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-30 12:01:39 IP:218.80.xxx.xxx 未訂閱
分离法,分一半先比,把一半最大的拿出来再比
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-30 12:47:05 IP:61.70.xxx.xxx 未訂閱
最簡單的排序法,氣泡式排序法,排序法的方式很多,您可以去看看一些資料結構的書上都有. procedure TForm1.Button1Click(Sender: TObject); var Source:String; Exchange:char; Len,i,j:integer; begin Source:='zdqwef'; Len:=Length(Source); for j:= 1 to Len do for i:= 1 to Len-1 do if (source[i] > source[i 1]) then begin exchange := source[i]; //swap source[i] := source[i 1]; source[i 1] := exchange; end; showmessage(source); end;
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-30 14:46:07 IP:202.175.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject);
var
Source:String;
Exchange:char;
Len,i,j:integer;
begin
Source:='zdqwef';
Len:=Length(Source);
for j:= 1 to Len do
for i:= 1 to Len-1 do
if (source[i] > source[i   1]) then//請問source[i] 的含意
begin
exchange := source[i]; //swap<-----請問swap 的含意
source[i] := source[i   1];
source[i   1] := exchange;
end;
showmessage(source);
end; 
小弟有點看不明白.不好意思 請問supman假設我有20個數字要進行比較,我該如何定意呢..謝謝回答
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-30 14:56:52 IP:61.70.xxx.xxx 未訂閱
if (source[i] > source[i 1]) then//請問source[i] 的含意 Source[i]就是表示Source字串中的第i個字元 exchange := source[i]; //swap<-----請問swap 的含意 swap表示交換的意思 小弟有點看不明白.不好意思 請問supman假設我有20個數字要進行比較,我該如何定意呢..謝謝回答 將Source String的定義改為integer陣列 前面的Source:='zdqwef';就是表示您要排序的資料,排完後的結果就會變成defqwz
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-30 15:17:00 IP:202.175.xxx.xxx 未訂閱
不好意思supman我可能表逹不清楚, 我的意思是假設我有6組數字分別為 a:10 b:13 c:100 d:39 e:55 f:24 我想要的是用最快的方法比較他們.小弟功力尚淺.請supman不要見怪. 剛才的這段代碼對我也很有用的.謝謝回答
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-30 18:24:24 IP:61.70.xxx.xxx 未訂閱
您如果要排序就需使用陣列,上面所寫的程式雖然是字串,只要改一改就能達到您的需求. 改成int型態後如下:  
 
procedure TForm1.Button1Click(Sender: TObject);
var
Source:Array[0..10] of integer;
Len,i,j,Exchange:integer;
Result : String;
begin
Source[0]:=5;Source[1]:=2;Source[2]:=4;Source[3]:=8;
Len:=Length(Source);
for j:= 0 to 3 do
 for i:= 0 to 3 do
  if (source[i] > source[i   1]) then
   begin
    exchange := source[i];
    source[i] := source[i   1];
    source[i   1] := exchange;
   end;
for i:=0 to 3 do
 Result:=Result IntToStr(Source[i]);
showmessage(Result);
end;
系統時間:2024-09-09 2:18:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!