# Ascending order in C++

In C++, the term "ascending order" refers to a specific order in which a list of elements is arranged. When a list of elements is arranged in ascending order, the elements are arranged from smallest to largest. For example, suppose the elements are integers. In that case, the list will be arranged in such a way that the smallest integer is at the beginning of the list, followed by the next smallest integer, and so on, until the largest integer is at the end of the list.

For example, the list {3, 1, 4, 2} is not in ascending order, but the list {1, 2, 3, 4} is in ascending order.

In C++, several built-in functions can be used to sort a list of elements in ascending order. The sort() function from the algorithm library is one such function that can be used to sort a list of elements in ascending order.

To sort elements in ascending order in C++, you can use the sort() function from the algorithm library. This function sorts the elements in a range (specified by a pair of iterators) in ascending order by default. Here is an example:

#include <iostream>
#include <algorithm>
#include <vector>

int main()
{
std::vector<int> numbers = {3, 1, 4, 2};

// Sort the elements in the vector in ascending order
std::sort(numbers.begin(), numbers.end());

// Print the sorted vector
for (int x : numbers)
std::cout << x << " ";
std::cout << std::endl;

return 0;
}

Output:

Explanation:

The above demonstrates how to sort an array in ascending order. This program creates a vector of integers and then uses the sort() function to sort the elements in ascending order. The sorted vector is then printed to the standard output.

To sort an array in ascending order without using the sort() function from the algorithm library, you can use a simple for loop and the std::swap() function to swap the elements in the array until they are sorted in the desired order. Here is an example:

#include <iostream>
#include <algorithm>

int main()
{
int numbers[] = {3, 1, 4, 2};
int size = 4;

// Use a simple for loop to sort the array in ascending order
for (int i = 0; i < size; i++)
{
for (int j = i + 1; j < size; j++)
{
if (numbers[j] < numbers[i])
{
// Swap the elements if the next element is smaller
std::swap(numbers[i], numbers[j]);
}
}
}

// Print the sorted array
for (int i = 0; i < size; i++)
std::cout << numbers[i] << " ";
std::cout << std::endl;

return 0;
}

Output:

Explanation:

This code uses a simple for loop to iterate over the elements in the array and compares each element with the next element. If the next element is smaller, the two elements are swapped using the std::swap() function. This process continues until all elements are in the correct order.

Note that this method of sorting an array is not very efficient, especially for large arrays. The sort() function from the algorithm library is a much more efficient way to sort an array in C++.

Here is another example of sorting without using any function:

#include <iostream>
#include <algorithm>
#include <vector>

int main()
{
std::vector<int> numbers = {3, 1, 4, 2};

// Sort the elements in the vector in ascending order
std::sort(numbers.begin(), numbers.end());

// Print the sorted vector
for (int x : numbers)
std::cout << x << " ";
std::cout << std::endl;

return 0;
}

Output:

Explanation:

This program is similar to the previous example, but instead of using the std::swap() function to swap the elements in the array, it uses a temporary variable to store the value of one element before swapping it with the other element. This is a common way to swap elements in an array without using the std::swap() function.