ערכתי לאחרונה בתאריך 03.12.03 בשעה 07:16 בברכה, E-do
כל העניין הוא לעבוד בצורה יעילה, ואת זה עוד לא למדתם.
העקרון של שימוש במשתנה עזר בודד הוא כזה:
(בלולאה כמובן)
בדוק האם תא i+1 במערך גדול מתא i במערך.
אם כן - החלף ביניהם (תא i+1 לתוך TEMP, תא i לתוך תא i+1, המשתנה TEMP לתוך i)
אם לא - אל תעשה כלום.או בפסקל:
for i:=1 to n do if arr[i+1]> arr[i] then begin temp:=arr[i+1]; arr[i+1]:=arr[i]; arr[i]:=temp; end;
|
בצורה כזאת נוצר מצב שבסוף הלולאה התא האחרון במערך יכיל את המספר הכי קטן.
איפה החסרון הבולט כאן? שאנחנו צריכים לעשות את הלולאה הזאת n-1 פעמים, שזה דבר מאוד לא "יעיל", ולכן יש כל מיני פטנטים אחרים...
-----------------
בברכה,
e-do