Hur man skriver in ett bubbel sort i c#
Hejhej, jag håller på med en kurs i c# där vi ska göra ett program för försäljare, som sorteras in efter antal sålda artiklar, detta ska sorterar in i 4 nivåer med
hjäp av bubbel sort. har gjort programet och vet hur bubbel sort ska se ut men har problem med att förstår hur jag ska skriva in den i programmet så det fungerar.
så här ser programmet och bubbel sort ut. hoppas här finns någon vänlig själ som kan förklara hur jag ska göra. då jag är nybörjare på det här.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace
ConsoleApplication1a
{
class Program
{
struct Säljar
{
public string Namn, Personnummer, Distrikt;
public int AntalArt;
public int Nivå;
}
static void Main(string[] args)
{
string indata;
Säljar[] SäljarArray = new Säljar[6];
{
for (int i = 0; i < SäljarArray.Length; i++)
{
Console.Write("Namn: "); //Här skrivs säljarens namn in
indata = Console.ReadLine();
SäljarArray[i].Namn = indata;
Console.Write("Personnummer: ");
indata = Console.ReadLine();
SäljarArray[i].Personnummer = indata;
Console.Write("Distrikt: ");
indata = Console.ReadLine();
SäljarArray[i].Distrikt = indata;
Console.Write("AntalArt? ");
indata = Console.ReadLine();
SäljarArray[i].AntalArt = int.Parse(indata);
if (SäljarArray[i].AntalArt > 0 && SäljarArray[i].AntalArt <= 50)
SäljarArray[i].Nivå = 1;
else if (SäljarArray[i].AntalArt > 50 && SäljarArray[i].AntalArt <= 100)
SäljarArray[i].Nivå = 2;
else if (SäljarArray[i].AntalArt > 100 && SäljarArray[i].AntalArt <= 199)
SäljarArray[i].Nivå = 3;
else if (SäljarArray[i].AntalArt > 200 && SäljarArray[i].AntalArt >= 200)
SäljarArray[i].Nivå = 4;
}
}
}
}
}
och bubbel sort ser ut så här.
Den anropas med:
Sortera(SäljarArray);
Metoden:
static void Sortera(Säljare[] Arr)
{
Säljare temp;
bool exchanges;
do
{
exchanges = false;
for (int i = 0; i < Arr.Length - 1; i++)
{
if (Arr[i].AntalArt > Arr[i + 1].AntalArt)
{
// Exchange elements
temp = Arr[i];
Arr[i] = Arr[i + 1];
Arr[i + 1] = temp;
exchanges = true;
}
}
}
while (exchanges);
}