2016-04-21 5 views
0
public void BubbleSortArray(int[] numbers) 
{ 
    bool swap; 
    int temp; 

    do 
    { 
     swap = false; 

     for(int index = 0; index < (numbers.Length - 1); index++) 
     { 
      if(numbers[index] > numbers[index+1]) //if first number is greater then second then swap 
      { 
       //swap 

       temp = numbers[index]; 
       numbers[index] = numbers[index + 1]; 
       numbers[index + 1] = temp; 
       swap = true; 
      } 
     } 

    } while (swap == true); 
} 

Okay, so habe ich meine Blase Art bekommen mit int Zahlen zu arbeiten, aber wie kann ich diesen Code bekommen mit Dezimalzahlen zu arbeiten, wäre jede HilfeFehler beim Sortieren eines Dezimalarrays mit bubblesort. C#

+1

indem Sie Ihre 'int []' in 'decimal []' Argumente und Ihre 'int temp' in' dezimal temp' ändern? – Ian

Antwort

0

sollte beachtet werden, nicht Sie müssen nur Ihre int[] ändern Eingang zu decimal[] Eingang?

public void BubbleSortArray(decimal[] numbers) //change here 
{ 
    bool swap; 
    decimal temp; //change this too 

    do 
    { 
     swap = false; 

     for(int index = 0; index < (numbers.Length - 1); index++) 
     { 
      if(numbers[index] > numbers[index+1]) //if first number is greater then second then swap 
      { 
       //swap 

       temp = numbers[index]; 
       numbers[index] = numbers[index + 1]; 
       numbers[index + 1] = temp; 
       swap = true; 
      } 
     } 

    } while (swap == true); 
} 

Darüber hinaus unterstützt C# Methodenüberladung. So können beide Methoden (die Methode mit int[] Argument und die Methode mit decimal[] Argument) Seite an Seite leben.

public void BubbleSortArray(int[] numbers){ 
    .... 
} 

public void BubbleSortArray(decimal[] numbers){ 
    .... 
} 
+0

So nenne ich es 'code int [] numbers = new int [1022]; Dezimal [] Zahlen2 = neue Dezimalzahl [1022]; Assignment2 obj = neu Assignment2(); ' ' Code obj.BubbleSortArrayDecimal (numbers2); Console.Write ("Sorted:"); obj.DisplayArray (Zahlen2); Console.Read(); ' es kommt heraus sagen, Fehler kann nicht von dezimal in int – AStrugglinStudent

+0

@AStrugglinStudent konvertieren, wahrscheinlich, weil Sie sehr neu in C# sind? – Ian

+0

@AStrugglinStudent Sie meinen, Sie wollen das sortierte Array drucken? – Ian

Verwandte Themen