C++
  • Home
  • Học lập trình
    • All
    • Học C++
    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    hướng dẫn cài đặt visual studio code lập trình c++ chi tiết

    Cài Đặt Visual Studio Code Lập Trình C++ Chi Tiết Đơn Giản 2024

    học lập trình c++ thì làm được gì

    Học Lập Trình C++ Thì Làm Được Gì?

    Sự khác nhau giữa struct và class trong C++

    Sự Khác Nhau Giữa Struct Và Class Trong C++

    Sự khác nhau giữa tham chiếu và con trỏ c++

    Sự Khác Nhau Giữa Tham Chiếu Và Con Trỏ Trong C++

    • Học C++
  • Reviews
    Top 7 công cụ tạo website không cần code

    Top 7 Công Cụ Tạo Website Không Cần Code Miễn Phí

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn
    • PC
    • Mobile Tips
No Result
View All Result
  • Home
  • Học lập trình
    • All
    • Học C++
    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    hướng dẫn cài đặt visual studio code lập trình c++ chi tiết

    Cài Đặt Visual Studio Code Lập Trình C++ Chi Tiết Đơn Giản 2024

    học lập trình c++ thì làm được gì

    Học Lập Trình C++ Thì Làm Được Gì?

    Sự khác nhau giữa struct và class trong C++

    Sự Khác Nhau Giữa Struct Và Class Trong C++

    Sự khác nhau giữa tham chiếu và con trỏ c++

    Sự Khác Nhau Giữa Tham Chiếu Và Con Trỏ Trong C++

    • Học C++
  • Reviews
    Top 7 công cụ tạo website không cần code

    Top 7 Công Cụ Tạo Website Không Cần Code Miễn Phí

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn
    • PC
    • Mobile Tips
No Result
View All Result
C++
No Result
View All Result
Home Học lập trình Học C++

Sắp xếp phần tử mảng theo thứ tự tăng dần và giảm dần trong C++

admin by admin
July 5, 2023
in Học C++
0 0
0
0
SHARES
0
VIEWS
Share on FacebookShare on Twitter

Sắp xếp phần tử mảng theo thứ tự tăng dần và giảm dần

Trong trang này, chúng ta sẽ sắp xếp mảng phần tử mảng trong C++ theo thứ tự tăng dần và giảm dần,

1. Phần tử mảng sắp xếp C ++ theo thứ tự tăng dần
2. Phần tử mảng sắp xếp C ++ theo thứ tự giảm dần

Trong chương trình, kích thước của biến mảng được cho 10, vì vậy nó có thể lưu trữ tối đa 10 phần tử tại một thời điểm sẽ được người dùng nhập vào.

Hãy bắt đầu,

C++ Sorting Array Element dưới dạng thứ tự tăng dần

Đây là chương trình,

#include<iostream>
using namespace std;

int main()
 {
  int arr[10],size,i;

  cout<<"Enter the size of Array: "; cin>>size;

  cout<<"Enter the element in the Array\n";
    for(i=0;i<size;i++) 
      {
         cin>>arr[i];
      }

 // display entered element 
  cout<<"Before Sorting Entered Element Are\n";
    for(i=0;i<size;i++)
          cout<<arr[i]<<"\t";

 // sorting process begin
int temp;  // declare third variable for swapping

for(i=0;i<size;i++)   //outer-loop
{
   for(int j=0;j<=size;j++)  //inner-loop
    {
       if(arr[i]<arr[j]) // represent second element in the array list
        {
            temp = arr[i];    // first array element assign to variable temp
            arr[i] = arr[j]; // second element assigning to first element
            arr[j] = temp; // variable temp (means first element) assigning to second element
        }
     }
}

 // display sorting element
cout<<"\nAfter Sorting Entered Element Are\n";

for(int i=0;i<size;i++)
   cout<<arr[i]<<" ";

return 0;
 }

RA

Enter the size of Array:5

Enter the element in the Array
8   
7  
2
1     
4

Before Sorting Entered Element Are  
8       7       2       1       4  

After Sorting Entered Element Are  
1       2       4       7       8 

Lời giải thích

Trong chương trình, kích thước của biến mảng được cho 10, vì vậy nó có thể lưu trữ tối đa 10 phần tử tại một thời điểm sẽ được người dùng nhập vào.

Giả sử người dùng đã cho kích thước của mảng 5, vì vậy 5 phần tử sẽ được lưu trữ theo cách này,

arr[0] = 8
arr[1] = 7
arr[2] = 2
arr[3] = 1
arr[4] = 4

Bây giờ sau này, quá trình phân loại sẽ bắt đầu.

Chúng tôi đã sử dụng hai vòng lặp để sắp xếp các phần tử mảng theo thứ tự tăng dần. Trong đó các phần tử mảng đầu tiên sẽ được truy cập từ vòng lặp đầu tiên, trong khi tất cả các phần tử của mảng từ vòng lặp thứ hai sẽ được so sánh với phần tử đầu tiên của nó.
Ở đây vòng lặp đầu tiên được gọi là vòng ngoài và vòng lặp bên trong thứ hai, trong phần tử mảng chương trình sẽ được sắp xếp như sau,

Quan tâm đến nhiều hơn, các vòng lặp này sẽ hoạt động như sau trong đó biến thuộc về vòng ngoài và biến j thuộc về vòng trong,

i = 0, j = 0 kích thước = 5
8 7 2 1 4

for(i = 0; 0 < 5; 0++) // outer loop
{
   for(int j = 0; 0 <= 5; 0++) // inner loop
   {
      if(arr[0] < arr[0])          // 8<8 8<7 8<2 8<1 8<4 all time condition becoming false 
       {                                     // so after inner-loop execution will go to outer-loop
          temp = arr[0]; 
          arr[0] = arr[1]; 
          arr[1] = temp; 
       }
    }
}

Ở đây chúng ta hoán đổi phần tử 2 và 1 so mảng,

   1      7      8      2      4 
arr[0] arr[1] arr[2] arr[3] arr[4]

Bây giờ một lần nữa vòng lặp bên trong sẽ thực thi nhưng hãy nhớ ở đây chỉ có giá trị J biến sẽ tăng I = 3, J = 1

for(int j = 1; 1 <= 5; 1++) //inner-loop
{
  if(arr[3] < arr[1]) // 2<7 true
   {
      temp = arr[3]; // temp = 2
      arr[3] = arr[1]; // arr[2]=7
      arr[1] = temp; // 2
   }
}

Ở đây chúng ta hoán đổi phần tử 7 và 2 bây giờ mảng,

   1      2      8      7     4 
arr[0] arr[1] arr[2] arr[3] arr[4]

Và một lần nữa vòng lặp bên trong sẽ thực thi, và giá trị thời gian này của biến J sẽ là J = 2 và giá trị biến i sẽ giống nhau

for(int j = 2; 2 <= 5; 2++) //inner-loop
{
  if(arr[3] < arr[2]) // 7<8 true
   { 
     temp = arr[3]; // temp = 7
     arr[3] = arr[2]; // arr[2]=8
     arr[2] = temp; // 7
   }
}

Ở đây chúng ta hoán đổi phần tử 8 và 7 để mảng bây giờ sẽ là,

   1      2      7     8      4 
arr[0] arr[1] arr[2] arr[3] arr[4]

và một lần nữa vòng lặp bên trong sẽ được thực thi nhưng điều này trong điều kiện câu lệnh if trở nên sai như,

arr[3] < arr[3] 8<8

Vì vậy, không có gì sẽ được thực hiện và thực hiện sẽ đi đến vòng lặp bên ngoài

Bây giờ giá trị i = 4, j = 0 , n = 5

for(i = 4; 4 < 5; 4++) //outer-loop
{
  for(int j = 0; 0 <= 5; 0++) //inner-loop
   {
      but here in if-statement first two condition false 
      arr[4] < arr[0] 4<1 //false
      arr[4] < arr[1] 4<2 // false 

but when variable j value become 2 then condition will be true, 

      if(arr[4] < arr[2]) // 4<7 true
       {
         temp = arr[4]; // temp = 4
         arr[4] = arr[2]; // arr[2]=7
         arr[2] = temp; // 4
       }
   }
}

Ở đây chúng ta hoán đổi phần tử 7 và 4, bây giờ là mảng

 1      2     4      8      7 
arr[0] arr[1] arr[2] arr[3] arr[4]

và một lần nữa vòng lặp bên trong sẽ thực thi, và lần này i = 4, j = 3 vì vậy

for(int j = 4; 4 <= 5; 4++) //inner-loop
{
  if(arr[4] < arr[3]) // 7<8 true
   {
      temp = arr[4]; // temp = 7
      arr[4] = arr[3]; // arr[2]=8
      arr[3] = temp; // 7
   }
}

Cuối cùng, chúng ta hoán đổi phần tử 8 và 7

  1      2     4      7       8 
arr[0] arr[1] arr[2] arr[3] arr[4]

Do đó, vòng lặp này sẽ thực hiện và chúng ta nhận được phần tử được sắp xếp,

C++ Sorting Array Element theo thứ tự giảm dần

Tăng dần đến thứ tự giảm dần, chúng tôi chỉ thay đổi toán tử < thành > nếu câu lệnh và các câu lệnh khác sẽ giống như chương trình trên,

for(i=0;i<n;i++)
{
 for(int j=0;j<n;j++)
 {
  if(arr[i]>arr[j]) // arr[i+1] represent second element in the array list
  {
    temp = arr[i];    // first array element assign to variable temp
    arr[i] = arr[j]; // second element assigning to first element
    arr[j] = temp; // variable temp (means first element) assigning to second element
  }
 }
}
Previous Post

Toán tử trong C++

Next Post

Lập trình hướng đối tượng trong C++

admin

admin

Next Post

Lập trình hướng đối tượng trong C++

Leave a Reply Cancel reply

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

  • Trending
  • Comments
  • Latest
cách code hình trái tim bằng c++

Cách code hình trái tim giống với nhân vật Thủ Khoa Lý

December 7, 2023
hướng dẫn cài đặt visual studio code lập trình c++ chi tiết

Cài Đặt Visual Studio Code Lập Trình C++ Chi Tiết Đơn Giản 2024

October 3, 2023
Office 2019 full crack

Cách Crack Office 2019 Đơn Giản, Dễ Hiểu Thành Công 100%

September 19, 2023
Top 10 ứng dụng mua hàng Trung Quốc uy tín nhất hiện nay

Top 10 ứng dụng mua hàng Trung Quốc uy tín nhất hiện nay

January 18, 2025

Các lớp lưu trữ trong cpp

0

Câu lệnh if else trong cpp

0

Chức năng của switch trong cpp

0

Mảng đối tượng trong C++

0
Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

October 23, 2023
Top 7 website bán túi xách nữ chính hãng, uy tín nhất

Top 7 website bán túi xách nữ chính hãng, uy tín nhất

October 12, 2023
Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

October 7, 2023
Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

October 5, 2023

Recommended

Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

October 23, 2023
Top 7 website bán túi xách nữ chính hãng, uy tín nhất

Top 7 website bán túi xách nữ chính hãng, uy tín nhất

October 12, 2023
Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

October 7, 2023
Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

October 5, 2023
Hướng dẫn học C++

© 2023 Hướng dẫn học C++ - Website thuộc bản quyền của Hướng dẫn học C++.

Liên kết

  • Home
  • Học lập trình
  • Reviews
  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn

Theo dõi chúng tôi

No Result
View All Result
  • Home
  • Học lập trình
    • Học C++
  • Reviews
  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn
    • PC
    • Mobile Tips

© 2023 Hướng dẫn học C++ - Website thuộc bản quyền của Hướng dẫn học C++.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In