- C++ Basics
- C++ Home
- C++ Overview
- C++ Environment Setup
- C++ Basic Syntax
- C++ Comments
- C++ Data Types
- C++ Variable Types
- C++ Variable Scope
- C++ Constants/Literals
- C++ Modifier Types
- C++ Storage Classes
- C++ Operators
- C++ Loop Types
- C++ Decision Making
- C++ Functions
- C++ Numbers
- C++ Arrays
- C++ Strings
- C++ Pointers
- C++ References
- C++ Date & Time
- C++ Basic Input/Output
- C++ Data Structures

- C++ Object Oriented
- C++ Classes & Objects
- C++ Inheritance
- C++ Overloading
- C++ Polymorphism
- C++ Abstraction
- C++ Encapsulation
- C++ Interfaces

# C++ Program to Sort the Elements of an Array in Ascending Order

To solve some problems effectively, it's important to arrange the data items in the correct sequence. One of the most popular arranging problems is the element sorting problem. This article will demonstrate how to arrange array members in C++ in ascending order (according to rising values).

To arrange either numerical or non-numerical elements in a specific order, a wide variety of sorting algorithms are available in this field. Only two straightforward sorting techniques will be covered in this article. the selection sort and the bubble sort. Let's examine each one individually using appropriate techniques and C++ implementation code.

## Sort array in ascending order using bubble sorting technique

One of the most popular and straightforward methods for sorting array components is the bubble sorting approach. In this method, two elements are checked one after the other to see if they are in the right order. If not, the method switches the elements around until they are in the right order. After that, move to the right and repeat the process for the other set of values. A single element is positioned in the proper intended position at the conclusion of each phase of the bubble sorting technique's few phases. Take a look at the bubble sorting algorithm.

### Algorithm

- read array A and its size n as input
- for i ranging from 0 to n-1, do
- for j ranging from 0 to n - 2, do
- if A[j] > A[j + 1], then
- swap A[j] and A[j + 1]

- end if

- if A[j] > A[j + 1], then
- end for

- for j ranging from 0 to n - 2, do
- end for

### Example

#include <iostream> using namespace std; void display( int arr[], int n ){ for ( int i = 0; i < n; i++ ) { cout << arr[i] << ", "; } } void swap ( int &a, int &b ){ int temp = a; a = b; b = temp; } void solve( int arr[], int n ){ int i, j; for ( i = 0; i < n; i++ ) { for ( j = 0; j < n-1; j++ ) { if ( arr[j] > arr[ j+1 ] ) { swap( arr[j], arr[ j + 1 ] ); } } } } int main(){ int arr[] = {8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84}; int n = sizeof( arr ) / sizeof( arr[0] ); cout << "Array before sorting: "; display(arr, n); solve( arr, n ); cout << "\nArray After sorting: "; display(arr, n); }

### Output

Array before sorting: 8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84, Array After sorting: 2, 5, 8, 10, 12, 12, 25, 36, 44, 45, 58, 63, 74, 78, 84, 89, 95, 96,

## Sort array in ascending order using selection sorting technique

When using the selection sorting strategy, we start at index I and work our way to the end of the given array, finding either the smallest or maximum element. Assume we are uncovering every ingredient. It locates the minimum element from index I to the end of each phase, positions the element in the appropriate location, and then repeats the process to find the next maximum element from index I + 1 and so on. These stages will be finished, and then the array as a whole will be sorted appropriately.

### Algorithm

- read array A and its size n as input
- for i ranging from 0 to n-1, do
- ind := index of minimum element of A starting from i to n
- if A[ i ] > A[ ind ], then
- swap A[ i ] and A[ ind ]

- end if

- end for

### Example

#include <iostream> using namespace std; void display( int arr[], int n ){ for ( int i = 0; i < n; i++ ) { cout << arr[i] << ", "; } } void swap ( int &a, int &b ){ int temp = a; a = b; b = temp; } int min_index( int arr[], int n, int s, int e ){ int min = 99999, min_ind = -1; for ( int i = s; i < e; i++ ) { if ( arr[i] < min ) { min = arr[i]; min_ind = i; } } return min_ind; } void solve( int arr[], int n ){ int i, j, ind; for ( i = 0; i < n; i++ ) { ind = min_index( arr, n, i, n ); if ( arr[i] > arr[ ind ] ) { swap( arr[i], arr[ ind ] ); } } } int main(){ int arr[] = {8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84}; int n = sizeof( arr ) / sizeof( arr[0] ); cout << "Array before sorting: "; display(arr, n); solve( arr, n ); cout << "\nArray After sorting: "; display(arr, n); }

### Output

Array before sorting: 8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84, Array After sorting: 2, 5, 8, 10, 12, 12, 25, 36, 44, 45, 58, 63, 74, 78, 84, 89, 95, 96,

## Conclusion

A basic problem is sorting, which involves arranging numbers or other items according to
predetermined layout logics. There are many other sorting techniques available in this field,
but in this post, we will focus on two that are simple to use and comprehend. These two
techniques are the selection sorting technique and the bubble sort technique. We have
arranged the data set in ascending (non-decreasing) order using these two techniques.
Although not very time-efficient, these two sorting techniques are straightforward. Both of
these two techniques need a time investment of O(n^{2}), where n is the magnitude of the
input. By just determining whether there will be no change in the subsequent phase if there
is no swap in any phase, the bubble sort can be made faster.

- Related Articles
- C program to sort an array of ten elements in an ascending order
- Python program to sort the elements of an array in ascending order
- Swift Program to Sort the Elements of an Array in Ascending Order
- Golang Program To Sort The Elements Of An Array In Ascending Order
- C program to sort an array in an ascending order
- 8086 program to sort an integer array in ascending order
- Java Program to Sort Array list in an Ascending Order
- Golang Program To Sort An Array In Ascending Order Using Insertion Sort
- Swift Program to sort an array in ascending order using bubble sort
- Swift Program to sort an array in ascending order using selection sort
- Swift Program to sort an array in ascending order using quick sort
- How to sort Java array elements in ascending order?
- C++ Program to Sort the Elements of an Array in Descending Order
- Program to sort each diagonal elements in ascending order of a matrix in C++
- How do you sort an array in C# in ascending order?