bekitty

我不会讲大道理,可我心里有一杆秤。 我看这个世界很苛刻,可我的心里很宽容。 我不需要权力与利益,可是我需要公平与正义。 我始终知道正道难行,可不得不行。

导航

Poj1007 - 冒泡排序

Posted on 2013-10-09 12:04  bekitty  阅读(214)  评论(0编辑  收藏  举报
package Poj1007;

 

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Scanner;

 

public class Cici1007 {

 

 

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

{

 

char[] c = null;

int i=0,j=0;

String str = new String();

ArrayList dna = new ArrayList();

ArrayList dnameasure = new ArrayList();

 

Scanner cin = new Scanner(System.in);

int length =  cin.nextInt(),num = cin.nextInt();

c = new char[length];

for(i=0;i<num;i++){

str = cin.next();

dna.add(str);

for(j=0;j<str.length();j++){

c[j] = str.charAt(j);

}

dnameasure.add(measure(c));

}

//sort for two array

Integer temp;

for (i = dna.size() - 1; i > 0 ;  --i){

for (j = 0; j < i; ++j) {

               if (dnameasure.get(j+1) < dnameasure.get(j)) {

               swap(dnameasure,j,j+1);

               swap(dna,j,j+1);

               }

           }

}

for(i=0;i<num;i++){

System.out.println(dna.get(i));

}

}

}

static void swap (List list, int a, int b){

 Object objA = list.get(a);

 list.set(a, list.get(b));

 list.set(b, objA);

}

public static int measure(char[] a){

int sortnum = 0;

char temp = 0;

        for (int i = a.length - 1; i > 0; --i) {

            for (int j = 0; j < i; ++j) {

                if (a[j + 1] < a[j]) {

                    temp = a[j];

                    a[j] = a[j + 1];

                    a[j + 1] = temp;

                    sortnum++;

                }

            }

        }

return sortnum;

}

}