Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void selection_sort(int *a, int n, int order){
- for (int i = order + 1; i < n; i++) {
- for (int j = i - 1; j >= 0; j--) {
- if (a[i] >= a[j]) {
- cout <<a[j] <<endl;
- for (int k = i; k > j + 1; k--) {
- cout<<a[k - 1] <<" ";
- a[k] = a[k - 1];
- }
- a[j + 1] = a[i];
- break;
- }
- if (j == 0) {
- for (int k = i; k > 0; k--) {
- a[k] = a[k - 1];
- }
- a[0] = a[i];
- }
- }
- }
- }
- int findOrder(int *a, int n) {
- for (int i = 0; i < n; i++) {
- if (a[i] > a[i + 1]) {
- return i;
- }
- }
- }
- int main(){
- int n, *a;
- do{
- cout << "Nhap n = ";
- cin >> n;
- if (n <= 0)
- cout << "Phai nhap n > 0 !" << endl;
- } while (n <= 0);
- a = new int[n];
- // Nhap cac phan tu cua mang
- for(int i = 0; i < n; i++){
- cout << "a[" << i << "] = ";
- cin >> a[i];
- }
- // Sap xep
- buble_sort(a, n);
- int order = findOrder(a, n);
- selection_sort(a, n, order);
- for (int i = 0; i < n; i++) {
- cout << *(a + i) <<" ";
- }
- // Giai phong bo nho
- delete[] a;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment