ترتيب الاختيار

ترتيب الاختيار هو خوارزمية ترتيب الأكثر بديهية. و يتم عن طريق البحث إما عن العنصر الأكبر أو عن العنصر الأصغر و الذي يوضع في المكان الأخير، ثم نبحث عن ثاني أكبر أو أصغر عنصر و الذي يوضع في مكانه أي قبل المكان الأخير، إلى آخره... حثى يتم ترتيب الجدول كله.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

خصائص

  1. عدد المقارنات اللازمة لترتيب جدول عدد عناصره N هو N(N-1)/2
  2. عدد التبديلات في رتبة N

مثال بلغة C

typedef int tab_entiers[MAX];
 
void selection(tab_entiers t) {
	int i، min، j ، x;
	for(i = 0 ; i < MAX - 1 ; i++) {
		min = i;
		for(j = i+1 ; j < MAX ; j++) if(t[j] < t[min]) min = j;
		if(min != i) {
			x = t[i];
			t[i] = t[min];
			t[min] = x;
		}
	}
}
خوارزميات الترتيب

بالفقاعات · بالإختيار · بالإدراج · سريع ·