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

Chương trình C ++ để thực hiện sắp xếp Stooge

Stooge Sort được sử dụng để sắp xếp dữ liệu đã cho. Nó là một thuật toán sắp xếp đệ quy. Stooge Sort chia mảng thành hai phần chồng lên nhau, 2/3 mỗi phần và Sắp xếp mảng theo ba bước bằng cách sắp xếp I rồi đến II và một lần nữa phần I. Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán này là O (n ^ 2,7095).

Thuật toán

 Begin Nhận đầu vào của dữ liệu. Gọi hàm StoogeSort () với ‘a’ là mảng dữ liệu và ‘n’ là số giá trị, trong danh sách đối số. Thực hiện Sắp xếp bằng cách sử dụng phương pháp đệ quy. Chia mảng thành 2/3 phần tử đầu tiên như phần I và 2/3 cuối cùng như phần II. Sau đó gửi phần đầu tiên, thứ hai và một lần nữa vào StoogeSort (). Nếu độ dài không thể ngắt được nữa thì hãy hoán đổi phần tử ở đầu và cuối nếu [end]  Mã mẫu  
 #include  using namespace std; void StoogeSort (int a [], int start, int end) {int temp; if (end-start + 1> 2) {temp =(end-start + 1) / 3; StoogeSort (a, start, end-temp); StoogeSort (a, start + temp, end); StoogeSort (a, start, end-temp); } if (a [end] > m; int arr [m]; for (i =0; i > arr [i]; } StoogeSort (arr, 0, m-1); cout <<"\ n Dữ liệu được sắp xếp"; for (i =0; i " < 

Đầu ra

 Nhập số phần tử dữ liệu được sắp xếp:4Nhập phần tử 1:6Nhập phần tử 2:7Nhập phần tử 3:3Nhập phần tử 4:Dữ liệu được sắp xếp -> 2-> 3-> 6-> 7