Text Share Online

void selection(int arr[], int n) {
for (int i = 0; i < n – 1; i++) {
int min_idx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
if (min_idx != i) {
swap(arr[min_idx], arr[i]);
}
}
}

// الكود الجزئي لدالة Heap Sort
void heapSort(MaxHeap &heap) {
if (heap.isEmpty()) {
return;
}
int lastIndex = heap.last;
for (int i = lastIndex; i >= 0; i–) {
swap(arr[0], arr[i]);
reshapeDown(heap, 0, i – 1);
}
}

void insertion(int arr[], int n) {
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i – 1;
while (j >= 0 && key < arr[j]) {
arr[j + 1] = arr[j];
j = j – 1;
}
arr[j + 1] = key;
}
}

void shell(int arr[], int size) {
for (int k = size / 2; k > 0; k = k / 2) {
for (int current = k; current < size; current++) {
int hold = arr[current];
int walker = current – k;
while (walker >= 0 && hold < arr[walker]) {
arr[walker + k] = arr[walker];
walker = walker – k;
}
arr[walker + k] = hold;
}
}
}

void bubble(int arr[], int n) {
for (int i = 0; i < n – 1; i++) {
bool flag = false;
for (int j = n – 1; j > i; j–) {
if (arr[j] < arr[j – 1]) {
swap(arr[j], arr[j – 1]);
flag = true;
}
}
if (flag == false) {
break;
}
}
}

Share This: