CPP 041 – Insertion Sort

Bubble sort’dan sonra başka bir sıralama algoritması olan insertion sort a bakacağız.

#include <iostream>
#include <vector>
using namespace std;

void print_vec(vector<int>& vec) {
	for (int& i : vec)
		cout << i << ", ";
	cout << "\n";
}
void insertion_sort(vector<int>& vec) {
    for (int i = 1; i < vec.size(); i++) {
        int key = vec[i];
        int j = i - 1;

        while (j >= 0 && vec[j] > key) {
            vec[j + 1] = vec[j];
            j--;
        }
        vec[j + 1] = key;
    }
}

int main() {
	vector<int> my_vec{4,16,643,63,4,16,4,757,435};
    print_vec(my_vec);
    insertion_sort(my_vec);
    print_vec(my_vec);
}

// 4, 16, 643, 63, 4, 16, 4, 757, 435,
// 4, 4, 4, 16, 16, 63, 435, 643, 757,

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *