bubblesort

Status
Niet open voor verdere reacties.

savant11

Gebruiker
Lid geworden
7 jan 2008
Berichten
153
Hoi allen,

ik heb 2 classes:

Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package week1;

/**
 *
 * @author savant
 */
public class Rijbewerkingen {
   // char [] rij = {'M', 'H', 'O', 'G', 'P', 'F', 'Z', 'D', 'A', 'K'};

    private char [] rij;
    //private char[] target;
   // private char[] binair;

    public Rijbewerkingen(char [] rij)
    {
       this.rij = rij;

    }

    public int lineair_zoeken(char zoekLetter)
    {
       for(int i = 0; i < rij.length; i++){
            if(zoekLetter == rij[i])
            return i;
        }
       return -1;
}
        
    

    public void binair_zoeken(char[] binair)
    {
       // this.binair = binair;
    }
    public void bubble()
    {
        int ondgrens;
		int loper;
		for (ondgrens = 1; ondgrens < rij.length; ondgrens++)
			for (loper = rij.length - 1; ondgrens > rij.length; loper--)
			{
				if (rij[loper - 1] > rij[loper])
				{
				   // verwissel rij[loper – 1] en rij [loper]
                    
				}
			}


    }

    public void print()
    {
        for(int teller = 0; teller<rij.length; teller++)
            System.out.println(rij[teller] + "");
                    System.out.println("\n\n");

    }
   }

en deze classe:

Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package week1;

import com.sun.xml.internal.fastinfoset.util.CharArray;

/**
 *
 * @author savant
 */
public class Main {

    /**
   
     */
    public static void main(String[] args) 
    {
        //char zoekLetter;
        //char index;

        	char [] rij = {'M', 'H', 'O', 'G', 'P', 'F', 'Z', 'D', 'A', 'K'};

            Rijbewerkingen rb = new Rijbewerkingen(rij);
            char zoekLetter = 'P';

            int index = rb.lineair_zoeken(zoekLetter);
            rb.print();

           
             if(index != -1)
                System.out.println(" index van " + zoekLetter + " is " + index );
           else
                System.out.println(" letter " + zoekLetter + " komt niet voor ");
           //Einde Lineair_zoeken

            //Begin van aaroepen Bubble
            Rijbewerkingen bub =  new Rijbewerkingen(rij);
            bub.bubble();

            System.out.println("de gestorteerde rij is:" + rij);
    }

  

}

Nu is mijn vraag. Is de aanroep van de methode van bubble wel goed?

Want ik krijg niet het goede resultaat:

de gestorteerde rij is:[C@addbf1

Alvast enorm bedankt.
 
Je aanroep bubble is wel goed maar

Code:
System.out.println("de gestorteerde rij is:" + rij);

Doet niet wat je hoopt.. Deze zal namelijk het geheugen adres van rij geven en niet de inhoud van rij.
In klasse Arrays is een toString() functie die dit wel doet.. Dus probeer eens:

Code:
System.out.println("de gestorteerde rij is:" + Arrays.toString(rij));
 
Hoi Skinflowers,

ja, bedankt.

ik heb het nu zo:

Code:
 public void bubble(char[] rij)
    {
        int ondgrens;
		int loper;
        char temp;
		for (ondgrens = 0; ondgrens < rij.length-1; ondgrens++)
        {
			for (loper = 0; loper < rij.length - 1;  loper++)
			{
				if (rij[loper + 1] < rij[loper])
				{
                    temp = rij[loper];
                    rij[loper] = rij[loper + 1];
                    rij[loper + 1] = temp;
				   // verwissel rij[loper – 1] en rij [loper]
                    
				}
			}
          }

       // return rij;

    }


en

Code:
 public static void main(String[] args) {


        
         char rij[] = {'G', 'T', 'A', 'F', 'L', 'B', 'C'};

         System.out.println("Before sort():\n");
         for(int i = 0; i < rij.length; i++)
         {
             System.out.println(rij[i]);
         }

         Bubblesort b = new Bubblesort();
         b.sort(rij);
         //sort(words);                              

         System.out.println("\nAfter sort():\n");
         for(int i = 0; i < rij.length; i++)      
         {
             System.out.println(rij[i]);
         }
    }


En het werkt.


Maar heb jij veel ervaring met java?

Heb ook nog een andere vraag.

Kan ik je wellicht emailen.

Niels.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan