بسم الله الرجمن الرحيم
Insertion Sort
يستخدم لترتيب عناصر المصفوفة تصاعدياً أو تنازلياً
عن طريق التبديل .
مثال {10,8,16,5,2}
1- مقارنة العدد 10 والعدد 8
بالتالي تصبح المصفوفة
{8,10,16,5,2}
2- مقارنة العدد 10 والعدد 16
تظل المصفوفة كما هي
3- نقارن العدد 16 والعدد 5
بالتالي تصبح المصفوفة
{8,10,5,16,2}
4- نقارن العدد 2 و 16
بالتالي تصبح المصفوفة
{8,10,5,2,16}
5- نقارن العدد 2 و 5
بالتالي تصبح المصفوفة
{8,10,2,5,16}
ونكرر عملية المقارنة والتبديل حتي نصل للترتيب النهائي
{2,5,8,10,16 }
Time Complexity
n^2
كود جافا
public class Insertion {
public static void insertionSort(int[] array) {
int i,tempValue;
for (int j = 1; j < array.length; j++) {
tempValue = array[j];
i=j;
while (i>0&&array[i-1]>tempValue) {
array[i] = array[i-1];
i--;
}
array[i] = tempValue;
}
for(int x=0;x<array.length;x++){
System.out.print(""+array[x]);
}
}
public static void main(String [] args){
int arr[]=new int[5];
Scanner input=new Scanner(System.in);
for(int i=0;i<5;i++){
arr[i]=input.nextInt();
}
insertionSort(arr);
}
}
ليست هناك تعليقات:
إرسال تعليق