You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Selection_Sort
{
class Program
{
static void Main(string[] args)
{
Selection_Sort selection = new Selection_Sort(10);
selection.Sort();
}
}
class Selection_Sort
{
private int[] data;
private static Random generator = new Random();
//Create an array of 10 random numbers
public Selection_Sort(int size)
{
data = new int[size];
for (int i = 0; i < size; i++)
{
data[i] = generator.Next(20, 90);
}
}
public void Sort()
{
Console.Write("\nSorted Array Elements :(Step by Step)\n\n");
display_array_elements();
int smallest;
for (int i = 0; i < data.Length - 1; i++)
{
smallest = i;
for (int index = i + 1; index < data.Length; index++)
{
if (data[index] < data[smallest])
{
smallest = index;
}
}
Swap(i, smallest);
display_array_elements();
}
}
public void Swap(int first, int second)
{
int temporary = data[first];
data[first] = data[second];
data[second] = temporary;
}
public void display_array_elements()
{
foreach (var element in data)
{
Console.Write(element + " ");
}
Console.Write("\n\n");
}
}
}