Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace SortingAlogrithms
- {
- class Program
- {
- static void BubbelSort(int[] data)
- {
- bool needsSorting = true;
- //Gör en loop för varje tal som ska sorteras, avbryt om talen är sorterade
- for (int i = 0; i < data.Length - 1 && needsSorting; i++)
- {
- //Signalera att vi börjar om en ny vända med sortering
- needsSorting = false;
- //Gå igenom alla tal fferam till och med de tal som ev.
- //redan är sortarade (var i)
- for (int j = 0; j < data.Length - 1 - i; j++)
- {
- if (data[j] > data[j + 1])
- {
- //Signalera att vi kommer att behöva fortsätta sortera
- needsSorting = true;
- //byt plats på tal
- int tmp = data[j + 1];
- data[j + 1] = data[j];
- data[j] = tmp;
- }
- }
- //Har vi nu inte behövt sortera några tal så är
- //needsSorting == false och loop'en kommer att avbrytas
- }
- }
- static int[] GenerateData(int size)
- {
- Random rnd = new Random();
- int[] data = new int[size];
- for (int i = 0; i < data.Length; i++)
- data[i] = rnd.Next(data.Length);
- return data;
- }
- static void Main(string[] args)
- {
- int[] sizes = new int[] { 1000, 10000, 100000 };
- for(int i = 0; i < sizes.Length; i++)
- {
- Console.WriteLine("Skapar slumpad data av längd " + sizes[i]);
- int[] data = GenerateData(sizes[i]);
- Console.WriteLine("Sorterar slumpad data");
- DateTime startTid = DateTime.Now;
- BubbelSort(data);
- TimeSpan deltaTid = DateTime.Now - startTid;
- Console.WriteLine("Det tog {0:0.00} ms attt sortera./n", deltaTid.TotalMilliseconds);
- Console.WriteLine("Sorterar redan sorterad data");
- startTid = DateTime.Now;
- BubbelSort(data);
- deltaTid = DateTime.Now - startTid;
- Console.WriteLine("Det tog {0:0.00} ms att sortera./n", deltaTid.TotalMilliseconds);
- }
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement