Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để triển khai mảng được sắp xếp

Mảng được sắp xếp là một mảng trong đó mỗi phần tử được sắp xếp theo một số thứ tự như số, bảng chữ cái, v.v. Có nhiều thuật toán để sắp xếp một mảng số như sắp xếp bong bóng, sắp xếp chèn, sắp xếp lựa chọn, sắp xếp hợp nhất, sắp xếp nhanh, sắp xếp theo đống, v.v. Chi tiết thêm về sắp xếp mảng bằng cách sử dụng sắp xếp lựa chọn được cung cấp bên dưới.

Sắp xếp lựa chọn là một phương pháp sắp xếp tạo ra một mảng được sắp xếp. Nó làm như vậy bằng cách liên tục tìm phần tử nhỏ nhất trong mảng và hoán đổi nó với phần tử ở đầu phần chưa được sắp xếp.

Chương trình triển khai một mảng được sắp xếp bằng cách sử dụng sắp xếp lựa chọn được đưa ra như sau.

Ví dụ

#include<iostream>
using namespace std;
void selectionSort(int a[], int n) {
   int i, j, min, temp;
   for (i = 0; i < n - 1; i++) {
      min = i;
      for (j = i + 1; j < n; j++)
      if (a[j] < a[min])
      min = j;
      temp = a[i];
      a[i] = a[min];
      a[min] = temp;
   }
}
int main() {
   int a[] = { 22, 91, 35, 78, 10, 8, 75, 99, 1, 67 };
   int n = sizeof(a)/ sizeof(a[0]);
   int i;
   cout<<"Given array is:"<<endl;
   for (i = 0; i < n; i++)
   cout<< a[i] <<" ";
   cout<<endl;
   selectionSort(a, n);
   printf("\nSorted array is: \n");
   for (i = 0; i < n; i++)
   cout<< a[i] <<" ";
   return 0;
}

đầu ra

Given array is:
22 91 35 78 10 8 75 99 1 67
Sorted array is:
1 8 10 22 35 67 75 78 91 99

Trong chương trình trên, selectSort () là một hàm sắp xếp mảng a [] bằng cách sử dụng lựa chọn sắp xếp. Có hai vòng lặp for trong selectSort (). Trong mỗi lần lặp của vòng lặp for bên ngoài, phần tử nhỏ nhất trong mảng còn lại sau i được tìm thấy và sau đó được hoán đổi cho phần tử hiện tại là i. Điều này được lặp lại cho đến khi mảng được sắp xếp. Điều này được hiển thị bên dưới.

void selectionSort(int a[], int n) {
   int i, j, min, temp;
   for (i = 0; i < n - 1; i++) {
      min = i;
      for (j = i + 1; j < n; j++)
      if (a[j] < a[min])
      min = j;
      temp = a[i];
      a[i] = a[min];
      a[min] = temp;
   }
}

Trong hàm main (), mảng a [] được định nghĩa. Khi đó, hàm selectSort () được gọi với mảng a [] và kích thước n của nó. Cuối cùng, mảng đã sắp xếp được hiển thị. Điều này được hiển thị bên dưới.

int main() {
   int a[] = { 22, 91, 35, 78, 10, 8, 75, 99, 1, 67 };
   int n = sizeof(a)/ sizeof(a[0]);
   int i;
   cout<<"Given array is:"<<endl;
   for (i = 0; i < n; i++)
   cout<< a[i] <<" ";
   cout<<endl;
   selectionSort(a, n);
   printf("\nSorted array is: \n");
   for (i = 0; i < n; i++)
   cout<< a[i] <<" ";
   return 0;
}