using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleTest
{
class Program
{
class CArray
{
private int[] arr;
private int upper;
private int numElements;
public CArray(int size)
{
arr = new int[size];
upper = size - 1;
numElements = 0;
}
public void Insert(int item)
{
arr[numElements] = item;
numElements++;
}
public void DisplayElements()
{
for (int i = 0; i <= upper; i++)
Console.Write(arr[i] + " ");
Console.WriteLine();
}
public void Clear()
{
for (int i = 0; i <= upper; i++)
arr[i] = 0;
numElements = 0;
}
public void BubbleSort()
{
int temp;
for (int outer = upper; outer >= 1; outer--)
{
for (int inner = 0; inner <= outer - 1; inner++)
if ((int)arr[inner] > arr[inner + 1])
{
temp = arr[inner];
arr[inner] = arr[inner + 1];
arr[inner + 1] = temp;
}
this.DisplayElements();
}
}
public void SelectionSort()
{
int min, temp;
for (int outer = 0; outer <= upper; outer++)
{
min = outer;
for (int inner = outer + 1; inner <= upper; inner++)
if (arr[inner] < arr[min])
min = inner;
temp = arr[outer];
arr[outer] = arr[min];
arr[min] = temp;
this.DisplayElements();
}
}
public void InsertionSort()
{
int inner, temp;
for (int outer = 1; outer <= upper; outer++)
{
temp = arr[outer];
inner = outer;
while (inner > 0 && arr[inner - 1] >= temp)
{
arr[inner] = arr[inner - 1];
inner -= 1;
}
arr[inner] = temp;
this.DisplayElements();
}
}
}
static void Main(string[] args)
{
CArray nums = new CArray(10);
Random rnd = new Random(100);
for (int i = 0; i < 10; i++)
nums.Insert((int)(rnd.NextDouble() * 100));
Console.WriteLine("Before sorting BubbleSort: ");
nums.DisplayElements();
Console.WriteLine("During sorting BubbleSort: ");
nums.BubbleSort();
Console.WriteLine("After sorting BubbleSort: ");
nums.DisplayElements();
nums.Clear();
for (int i = 0; i < 10; i++)
nums.Insert((int)(rnd.NextDouble() * 100));
Console.WriteLine("Before sorting SelectionSort: ");
nums.DisplayElements();
Console.WriteLine("During sorting SelectionSort: ");
nums.SelectionSort();
Console.WriteLine("After sorting SelectionSort: ");
nums.DisplayElements();
nums.Clear();
for (int i = 0; i < 10; i++)
nums.Insert((int)(rnd.NextDouble() * 100));
Console.WriteLine("Before sorting InsertionSort: ");
nums.DisplayElements();
Console.WriteLine("During sorting InsertionSort: ");
nums.InsertionSort();
Console.WriteLine("After sorting InsertionSort: ");
nums.DisplayElements();
Console.ReadLine();
}
}
}
In urma rularii rezulta:
Bibliografie:
Data Structures and Algorithms Using C# - MICHAEL MCMILLAN
Salut. Ma bucur sa gasesc inca un blog cu teme de .Net.
RăspundețiȘtergereMultumesc! Nu stiu daca este un blog clasic cu teme pe .NET, dar cum programarea este si ea o poezie a mintii..., e mai mult o intoarcere la propria mea persoana, e ceva ce ma defineste...nu este nici macar literatura :)
RăspundețiȘtergere