Penyortiran penyisipan langsung mengacu pada penyisipan elemen yang akan diurutkan satu per satu ke dalam urutan yang telah diurutkan sebelumnya hingga semua elemen telah disisipkan.
1) Pertama asumsikan bahwa elemen pertama telah diurutkan.
2) Kemudian keluarkan elemen berikutnya yang masih perlu diurutkan, yaitu elemen berikutnya setelah elemen yang diurutkan, keluarkan elemen berikutnya, atur sebagai elemen yang akan disisipkan, dan pindai dari belakang ke depan dalam yang telah diurutkan. urutan elemen. Jika elemen (yang diurutkan) lebih besar dari elemen yang akan disisipkan, pindahkan elemen ke posisi berikutnya.
3) Ulangi langkah 2 hingga Anda menemukan posisi di mana elemen yang diurutkan kurang dari atau sama dengan elemen yang akan diurutkan, lalu masukkan elemen tersebut.
4) Ulangi langkah 2 dan 3 untuk menyelesaikan penyortiran.
Misalnya:
importjava.util.Arrays;publicclassMain{publicstaticvoidmain(Stringargs[]){int[]arr=newint[]{17,62,39,52,8,24};for(inti=1;i<arr.length;i++ ){//Mulai perbandingan dari elemen kedua inttemp=arr[i];//Rekam elemen saat ini for(intj=i-1;j>=0;j--){//Mulai perbandingan dari elemen terakhir elemen if (arr[j]>temp){//Jika lebih besar dari elemen saat ini arr[j+1]=arr[j];//Pindahkan semua elemen dari sini ke depan satu posisi arr[j]=temp; / /Masukkan elemen saat ini ke arr[j]}}}for(inti=0;i<arr.length;i++){System.out.print(arr[i]+);}}}
Hasil yang berjalan adalah sebagai berikut:
81724395262