Advertisement
allerost

BubbelSort Algorithm.

May 18th, 2016
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.60 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace SortingAlogrithms
  8. {
  9.     class Program
  10.     {
  11.         static void BubbelSort(int[] data)
  12.         {
  13.             bool needsSorting = true;
  14.             //Gör en loop för varje tal som ska sorteras, avbryt om talen är sorterade
  15.             for (int i = 0; i < data.Length - 1 && needsSorting; i++)
  16.             {
  17.                 //Signalera att vi börjar om en ny vända med sortering
  18.                 needsSorting = false;
  19.                 //Gå igenom alla tal fferam till och med de tal som ev.
  20.                 //redan är sortarade (var i)
  21.                 for (int j = 0; j < data.Length - 1 - i; j++)
  22.                 {
  23.                     if (data[j] > data[j + 1])
  24.                     {
  25.                         //Signalera att vi kommer att behöva fortsätta sortera
  26.                         needsSorting = true;
  27.                         //byt plats på tal
  28.                         int tmp = data[j + 1];
  29.                         data[j + 1] = data[j];
  30.                         data[j] = tmp;
  31.                     }
  32.                 }
  33.                 //Har vi nu inte behövt sortera några tal så är
  34.                 //needsSorting == false och loop'en kommer att avbrytas
  35.             }
  36.  
  37.         }
  38.         static int[] GenerateData(int size)
  39.         {
  40.             Random rnd = new Random();
  41.             int[] data = new int[size];
  42.  
  43.             for (int i = 0; i < data.Length; i++)
  44.                 data[i] = rnd.Next(data.Length);
  45.  
  46.             return data;
  47.         }
  48.  
  49.         static void Main(string[] args)
  50.         {
  51.             int[] sizes = new int[] { 1000, 10000, 100000 };
  52.  
  53.             for(int i = 0; i < sizes.Length; i++)
  54.             {
  55.                 Console.WriteLine("Skapar slumpad data av längd " + sizes[i]);
  56.                 int[] data = GenerateData(sizes[i]);
  57.  
  58.                 Console.WriteLine("Sorterar slumpad data");
  59.                 DateTime startTid = DateTime.Now;
  60.                 BubbelSort(data);
  61.                 TimeSpan deltaTid = DateTime.Now - startTid;
  62.                 Console.WriteLine("Det tog {0:0.00} ms attt sortera./n", deltaTid.TotalMilliseconds);
  63.  
  64.                 Console.WriteLine("Sorterar redan sorterad data");
  65.                 startTid = DateTime.Now;
  66.                 BubbelSort(data);
  67.                 deltaTid = DateTime.Now - startTid;
  68.                 Console.WriteLine("Det tog {0:0.00} ms att sortera./n", deltaTid.TotalMilliseconds);
  69.                
  70.             }
  71.  
  72.             Console.ReadLine();
  73.         }
  74.  
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement