Tuesday 15 March 2011

java - Bubble Sort Parallel Arrays -



java - Bubble Sort Parallel Arrays -

i have run programme - results supposed

12,12.0 8,8.0 7,0.7 5,2.5 5,0.25

however when run programme getting results

8,8.0 7,0.7 5,0.25 12,12.0 5,2.5

i have tried best numbers in order above first illustration can advise me of solution

public class bubpararrays { public static void main(string[] args) { int saleunits[] = {5, 12, 5, 7, 8}; double saleprices[] = {2.5, 12.0, 0.25, 0.7, 8.0}; int pass, comparison, tempsaleunit; double tempsaleprice; string results = ""; (pass = 1; pass <= saleunits.length - 1; pass++) { (comparison = 1; comparing <= saleunits.length - pass; comparison++) { if (saleunits[comparison - 1] < saleunits[comparison]) { system.out.println("if saleunits[ " + (comparison - 1) + " ] < salesunits [ " + comparing + "] \n "); } { tempsaleunit = saleunits[comparison - 1]; system.out.println("tempsaleunit \t" + tempsaleunit + " = saleunits [ " + (comparison) + " ]"); saleunits[comparison - 1] = saleunits[comparison]; system.out.println(" saleunits [ " + (comparison - 1) + " ]" + " = saleunits [ " + (comparison) + " ]"); saleunits[comparison] = tempsaleunit; system.out.println(" saleunits[ " + comparing + " ] " + " = tempsaleunit " + tempsaleunit); tempsaleprice = saleprices[comparison - 1]; system.out.println(" tempsaleprice \t" + tempsaleprice + " = saleprices [ " + (comparison - 1) + "]"); saleprices[comparison - 1] = saleprices[comparison]; system.out.println(" saleprices[ " + (comparison - 1) + " ] = saleprices [ " + (comparison) + "]"); saleprices[comparison] = tempsaleprice; system.out.println(" saleprices [ " + comparing + "] = tempsaleprice " + tempsaleprice + "\n"); } } } (int index = 0; index < (saleunits.length); index++) { results = results + saleunits[index] + "," + saleprices[index] + "\n"; } system.out.print(" sorted on units of sale \n" + results); } }

fyi not bubble sort mixing selection sort , bubble sort ... alter these looping conditions

(pass = 1; pass <= saleunits.length - 1; pass++) { (comparison = 1; comparing <= saleunits.length - pass; comparison++)

to

(pass = 0; pass < saleunits.length; pass++) { (comparison = 1; comparing <= saleunits.length-1; comparison++)

also need change

if (saleunits[comparison - 1] < saleunits[comparison]) { system.out.println("if saleunits[ " + (comparison - 1) + " ] < salesunits [ " + comparing + "] \n "); } {

to

if (saleunits[comparison - 1] < saleunits[comparison]) { system.out.println("if saleunits[ " + (comparison - 1) + " ] < salesunits [ " + comparing + "] \n ");

you need remove '}' , '{' new code should :

public class bubpararrays { public static void main(string[] args) { int saleunits[] = {5, 12, 5, 7, 8}; double saleprices[] = {2.5, 12.0, 0.25, 0.7, 8.0}; int pass, comparison, tempsaleunit; double tempsaleprice; string results = ""; (pass = 0; pass < saleunits.length; pass++) { (comparison = 1; comparing <= saleunits.length-1; comparison++) { if (saleunits[comparison - 1] < saleunits[comparison]) { system.out.println("if saleunits[ " + (comparison - 1) + " ] < salesunits [ " + comparing + "] \n "); tempsaleunit = saleunits[comparison - 1]; system.out.println("tempsaleunit \t" + tempsaleunit + " = saleunits [ " + (comparison) + " ]"); saleunits[comparison - 1] = saleunits[comparison]; system.out.println(" saleunits [ " + (comparison - 1) + " ]" + " = saleunits [ " + (comparison) + " ]"); saleunits[comparison] = tempsaleunit; system.out.println(" saleunits[ " + comparing + " ] " + " = tempsaleunit " + tempsaleunit); tempsaleprice = saleprices[comparison - 1]; system.out.println(" tempsaleprice \t" + tempsaleprice + " = saleprices [ " + (comparison - 1) + "]"); saleprices[comparison - 1] = saleprices[comparison]; system.out.println(" saleprices[ " + (comparison - 1) + " ] = saleprices [ " + (comparison) + "]"); saleprices[comparison] = tempsaleprice; system.out.println(" saleprices [ " + comparing + "] = tempsaleprice " + tempsaleprice + "\n"); } } } (int index = 0; index < (saleunits.length); index++) { results = results + saleunits[index] + "," + saleprices[index] + "\n"; } system.out.print(" sorted on units of sale \n" + results); } }

output :

if saleunits[ 0 ] < salesunits [ 1] tempsaleunit 5 = saleunits [ 1 ] saleunits [ 0 ] = saleunits [ 1 ] saleunits[ 1 ] = tempsaleunit 5 tempsaleprice 2.5 = saleprices [ 0] saleprices[ 0 ] = saleprices [ 1] saleprices [ 1] = tempsaleprice 2.5 if saleunits[ 2 ] < salesunits [ 3] tempsaleunit 5 = saleunits [ 3 ] saleunits [ 2 ] = saleunits [ 3 ] saleunits[ 3 ] = tempsaleunit 5 tempsaleprice 0.25 = saleprices [ 2] saleprices[ 2 ] = saleprices [ 3] saleprices [ 3] = tempsaleprice 0.25 if saleunits[ 3 ] < salesunits [ 4] tempsaleunit 5 = saleunits [ 4 ] saleunits [ 3 ] = saleunits [ 4 ] saleunits[ 4 ] = tempsaleunit 5 tempsaleprice 0.25 = saleprices [ 3] saleprices[ 3 ] = saleprices [ 4] saleprices [ 4] = tempsaleprice 0.25 if saleunits[ 1 ] < salesunits [ 2] tempsaleunit 5 = saleunits [ 2 ] saleunits [ 1 ] = saleunits [ 2 ] saleunits[ 2 ] = tempsaleunit 5 tempsaleprice 2.5 = saleprices [ 1] saleprices[ 1 ] = saleprices [ 2] saleprices [ 2] = tempsaleprice 2.5 if saleunits[ 2 ] < salesunits [ 3] tempsaleunit 5 = saleunits [ 3 ] saleunits [ 2 ] = saleunits [ 3 ] saleunits[ 3 ] = tempsaleunit 5 tempsaleprice 2.5 = saleprices [ 2] saleprices[ 2 ] = saleprices [ 3] saleprices [ 3] = tempsaleprice 2.5 if saleunits[ 1 ] < salesunits [ 2] tempsaleunit 7 = saleunits [ 2 ] saleunits [ 1 ] = saleunits [ 2 ] saleunits[ 2 ] = tempsaleunit 7 tempsaleprice 0.7 = saleprices [ 1] saleprices[ 1 ] = saleprices [ 2] saleprices [ 2] = tempsaleprice 0.7 sorted on units of sale 12,12.0 8,8.0 7,0.7 5,2.5 5,0.25

java

No comments:

Post a Comment