C++ program: Sort array elements in descending order
Arranging data items in a proper form is an important task when solving some problems.
efficient way. The element sorting problem is one of the most commonly discussed Arrangement problem. In this article we will see how to arrange array elements Sort in descending order of their values (in C).There are many different sorting algorithms used in this field to sort numbers or non-numbers
elements in a given order. In this article, we will introduce only two simple methods sorting. The bubble sort and the selection sort. Let us see them one by one with proper Algorithm and C implementation code.Sort the array in descending order using bubble sort technique
Bubble sorting technology is one of the most common and simple sorting methods.
elements in the array. This method checks two adjacent elements if they are correct order, then skip to the next elements, otherwise interchange them to place them in correct Arrange the other elements in order and then skip to the next element, otherwise swap them to place them in the correct position order. Then move towards right and do the same for the other pair of values. The bubble Arranged in order. Then move to the right and do the same with the other pair of values. bubble The sorting technique has several stages, at the end of each stage an element is placed in Correct expected position. Let’s take a look at the algorithm of bubble sort technique.algorithm
- Read array A and its size n as input
- For the range of i from 0 to n-1, execute
- For the range of j from 0 to n - 2, execute
- If A[j]
- Exchange A[j] and A[j 1]
- End if
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: 96, 95, 89, 84, 78, 74, 63, 58, 45, 44, 36, 25, 12, 12, 10, 8, 5, 2,
Use selection sort technique to sort the array in descending order
In selection sort technique we find minimum element or maximum element Starting from index i in the given array, translated into Chinese: element from the given array starting from index i to the end of this array. Assume we are. Find the largest element. In each stage it finds the minimum value from index i to the end, then Place the element where it needs to be and search again for the next largest element the index i 1 and so on. After completing these phases, the entire array will be sorted index i 1 and so on. After completing these stages, the entire array will be sorted Correspondingly.algorithm
- Read array A and its size n as input
- For the range of i from 0 to n-1, execute
- ind := Index of the largest element of A from i to n
- If A[ i ] < A[ ind ], then
- Exchange 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 max_index( int arr[], int n, int s, int e ){ int max = 0, max_ind = 0; for ( int i = s; i < e; i++ ) { if ( arr[i] > max ) { max = arr[i]; max_ind = i; } } return max_ind; } void solve( int arr[], int n ){ int i, j, ind; for ( i = 0; i < n; i++ ) { ind = max_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: 96, 95, 89, 84, 78, 74, 63, 58, 45, 44, 36, 25, 12, 12, 10, 8, 5, 2,
in conclusion
A sorting problem is a fundamental problem in which we arrange numbers or other values
in a given permutation logic. There are many different sorting techniques available here understand and implement Implemented and easy to understand. These two methods are bubble sorting technique and Selection sorting techniques. Using these two methods, we have sorted the dataset Descending (non-increasing) sort. These two sorting methods are not very efficient Respect the time, but they are easy to understand. Both methods require O(n2) time Amount of time, where n is the size of the input. Bubble sort can be made faster with simple way Check if there is no swapping in any phase, the next consecutive phase will not happen Change anything.The above is the detailed content of C++ program: Sort array elements in descending order. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The method of using a foreach loop to remove duplicate elements from a PHP array is as follows: traverse the array, and if the element already exists and the current position is not the first occurrence, delete it. For example, if there are duplicate records in the database query results, you can use this method to remove them and obtain results without duplicate records.

Methods for deep copying arrays in PHP include: JSON encoding and decoding using json_decode and json_encode. Use array_map and clone to make deep copies of keys and values. Use serialize and unserialize for serialization and deserialization.

The performance comparison of PHP array key value flipping methods shows that the array_flip() function performs better than the for loop in large arrays (more than 1 million elements) and takes less time. The for loop method of manually flipping key values takes a relatively long time.

Multidimensional array sorting can be divided into single column sorting and nested sorting. Single column sorting can use the array_multisort() function to sort by columns; nested sorting requires a recursive function to traverse the array and sort it. Practical cases include sorting by product name and compound sorting by sales volume and price.

PHP's array_group_by function can group elements in an array based on keys or closure functions, returning an associative array where the key is the group name and the value is an array of elements belonging to the group.

The best practice for performing an array deep copy in PHP is to use json_decode(json_encode($arr)) to convert the array to a JSON string and then convert it back to an array. Use unserialize(serialize($arr)) to serialize the array to a string and then deserialize it to a new array. Use the RecursiveIteratorIterator to recursively traverse multidimensional arrays.

PHP's array_group() function can be used to group an array by a specified key to find duplicate elements. This function works through the following steps: Use key_callback to specify the grouping key. Optionally use value_callback to determine grouping values. Count grouped elements and identify duplicates. Therefore, the array_group() function is very useful for finding and processing duplicate elements.

Complexity of PHP array deduplication algorithm: array_unique(): O(n) array_flip()+array_keys(): O(n) foreach loop: O(n^2)
