- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Selection Sort
In the selection sort technique, the list is divided into two parts. In one part all elements are sorted and in another part the items are unsorted. At first, we take the maximum or minimum data from the array. After getting the data (say minimum) we place it at the beginning of the list by replacing the data of first place with the minimum data. After performing the array is getting smaller. Thus this sorting technique is done.
The complexity of Selection Sort Technique
- Time Complexity: O(n^2)
- Space Complexity: O(1)
Input and Output
Input: The unsorted list: 5 9 7 23 78 20 Output: Array before Sorting: 5 9 7 23 78 20 Array after Sorting: 5 7 9 20 23 78
Algorithm
selectionSort(array, size)
Input − An array of data, and the total number in the array
Output − The sorted Array
Begin for i := 0 to size-2 do //find minimum from ith location to size iMin := i; for j:= i+1 to size – 1 do if array[j] < array[iMin] then iMin := j done swap array[i] with array[iMin]. done End
Example
#include<iostream> using namespace std; void swapping(int &a, int &b) { //swap the content of a and b int temp; temp = a; a = b; b = temp; } void display(int *array, int size) { for(int i = 0; i<size; i++) cout << array[i] << " "; cout << endl; } void selectionSort(int *array, int size) { int i, j, imin; for(i = 0; i<size-1; i++) { imin = i;//get index of minimum data for(j = i+1; j<size; j++) if(array[j] < array[imin]) imin = j; //placing in correct position swap(array[i], array[imin]); } } int main() { int n; cout << "Enter the number of elements: "; cin >> n; int arr[n]; //create an array with given number of elements cout << "Enter elements:" << endl; for(int i = 0; i<n; i++) { cin >> arr[i]; } cout << "Array before Sorting: "; display(arr, n); selectionSort(arr, n); cout << "Array after Sorting: "; display(arr, n); }
Output
Enter the number of elements: 6 Enter elements: 5 9 7 23 78 20 Array before Sorting: 5 9 7 23 78 20 Array after Sorting: 5 7 9 20 23 78
- Related Articles
- Selection sort in Java.
- Difference Between Insertion Sort and Selection Sort
- Difference Between Bubble Sort and Selection Sort
- Selection Sort program in C#
- Selection Sort in Python Program
- Python Program for Selection Sort
- 8086 program for selection sort
- C Program for Selection Sort?
- Selection Sort in Go Lang
- Recursive Selection Sort in C++
- Java program to implement selection sort
- C++ Program to Implement Selection Sort
- Sort an Array of string using Selection sort in C++
- C++ program for Sorting Dates using Selection Sort
- 8085 Program to perform sorting using selection sort

Advertisements