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#
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");
|
|
}
|
|
}
|
|
} |