Linear search and bubble sort · Pencarian linear dan bubble sort
This page needs a recent browser (with SharedArrayBuffer support). Please update Chrome, Edge, Firefox or Safari to the latest version. · Halaman ini memerlukan browser terbaru (dengan dukungan SharedArrayBuffer). Silakan perbarui Chrome, Edge, Firefox, atau Safari ke versi terbaru.
English
Find one mark, then order the list
- Syllabus topic 10.2 asks for two algorithms on an array: a linear search and a bubble sort.
- A linear search looks at every cell. Remember the index when the value matches. If it never matches, the index stays 0.
- Searching does not move the values. Sorting does.
Bahasa Indonesia
Temukan satu nilai, lalu urutkan daftar
- Topik silabus 10.2 meminta dua algoritma pada array: pencarian linear dan bubble sort.
- Pencarian linear memeriksa setiap sel. Ingat indeks saat nilai cocok. Jika tidak pernah cocok, indeks tetap 0.
- Pencarian tidak memindahkan nilai. Pengurutan memindahkannya.
DECLARE A : ARRAY[1:4] OF INTEGER
DECLARE I, Pos : INTEGER
A[1] ← 4
A[2] ← 9
A[3] ← 1
A[4] ← 7
Pos ← 0
FOR I ← 1 TO 4
IF A[I] = 9 THEN
Pos ← I
ENDIF
NEXT I
OUTPUT Pos
English
Bubble the largest to the end
- Compare each pair of neighbours. When the left one is larger, swap them through a temporary variable.
- One comparison is not the whole sort. Repeat the pass until every pair has been handled.
- For four values, an outer loop of three passes and an inner loop across the pairs is enough.
Bahasa Indonesia
Bubble nilai terbesar ke posisi terakhir
- Bandingkan setiap pasangan tetangga. Jika nilai kiri lebih besar, tukar keduanya menggunakan variabel sementara.
- Satu perbandingan bukanlah seluruh proses pengurutan. Ulangi putaran hingga semua pasangan ditangani.
- Untuk empat nilai, loop luar sebanyak tiga putaran dan loop dalam melintasi pasangan sudah cukup.
DECLARE Score : ARRAY[1:4] OF INTEGER
DECLARE I, J, Temp : INTEGER
Score[1] ← 4
Score[2] ← 1
Score[3] ← 3
Score[4] ← 2
FOR I ← 1 TO 3
FOR J ← 1 TO 3
IF Score[J] > Score[J + 1] THEN
Temp ← Score[J]
Score[J] ← Score[J + 1]
Score[J + 1] ← Temp
ENDIF
NEXT J
NEXT I
OUTPUT Score[1]
OUTPUT Score[2]
OUTPUT Score[3]
OUTPUT Score[4]
English
Common mistakes
- A swap needs three assignments. Copying the right cell over the left one loses the left value.
THENstays on theIFline in this guide. The innerNEXTnamesJ, the outer namesI.
Bahasa Indonesia
Kesalahan umum
- Tukar posisi membutuhkan tiga operasi penugasan. Menyalin sel kanan ke sel kiri akan menghilangkan nilai asal di kiri.
THENtetap berada pada barisIFdalam panduan ini. Loop innerNEXTbernamaJ, loop outer bernamaI.
English
Now you try
- First report where
9sits. Then sort four values into ascending order, one per line.
Bahasa Indonesia
Sekarang Anda coba
- Laporkan terlebih dahulu di mana
9berada. Kemudian urutkan empat nilai secara ascending, satu per baris.
The array A holds 4, 9, 1, 7. Set Pos to the index of 9 (it is 2) and output Pos. If you never find it, Pos stays 0. · Array A berisi 4, 9, 1, 7. Setel Pos ke indeks dari 9 (ini adalah 2) dan outputkan Pos. Jika Anda tidak menemukannya, Pos tetap 0.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
The array Score holds 4, 1, 3, 2. Bubble-sort it into ascending order and output the four values, one per line. · Array Score berisi 4, 1, 3, 2. Urutkan secara bubble menjadi urutan naik dan outputkan empat nilai tersebut, satu per baris.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.