RUN

Selection Sort

Written By -

Selection Sort

It is a sorting algorithm mainly performs an in-place comparison sort. Selection sort cannot be said to be very efficient on large lists.

Selection sort is a very simple algorithm and also has performance advantages over other sorting algorithms. Selection sort has a complexity of O(n²), where n is the number of items being sorted.

# Steps followed in the algorithm

  • Find the minimum value in the list
  • Swap it with the value at the first pos
  • Repeat the process till the last value is read and swapped.

# Algorithm

// selection sort

for (i = 0; i < array; i++;)

{

  pos = min_pos_search(list, i);

  temp = list[pos];

  list[pos] = list[i];

  list[i] = temp;

}

Code:

//Program to show selection sort

#include<iostream>
using namespace std;

int smallestNum(int[], int);

int main()

{

  int array[5] = {
    20,
    5,
    12,
    35,
    48
  };

  int position, temp, iter = 0;

  cout << "\n Input list of elements to be Sorted\n";

  for (int i = 0; i < 5; i++)

  {

    cout << array[i] << "\t";

  }

  for (int i = 0; i < 5; i++)

  {

    position = smallestNum(array, i);

    temp = array[i];

    array[i] = array[position];

    array[position] = temp;

    iter++;

  }

  cout << "\n Sorted list of elements is\n";

  for (int i = 0; i < 5; i++)

  {

    cout << array[i] << "\t";

  }

  cout << "\nNumber of iterations required to sort the array: " << iter;

  return 0;

}

int smallestNum(int array[], int i)

{

  int small, pos, j;

  small = array[i];

  pos = i;

  for (j = i + 1; j < 5; j++)

  {

    if (array[j] < small)

    {

      small = array[j];

      pos = j;

    }

  }

  return pos;

}

Report Error/ Suggestion

Related Posts:




CopyRight © 2020

CopyRight © 2020