วันพฤหัสบดีที่ 3 กุมภาพันธ์ พ.ศ. 2554

1.How to sort 2 dimensions array?

จงเขียนโปรแกรมเพื่อจัดเรียงอาเรย์แบบ 2 มิติ N X N ดังนี้

1, 9, 8, 7
2, 4, 5, 3
6, 0, 10, 11

ผลลัพธ์ที่ได้คือ

0, 1, 2, 3
4, 5, 6, 7
8, 9, 10, 11

2 ความคิดเห็น:

  1. ขั้นตอนการคิดคือ
    1. ทำ 2 มิติให้เป็น 1 มิติ
    2. จัดเรียง 1 มิติด้วยเทคนิคการ sort แบบต่างๆ
    3. แปลงจาก 1 มิติกลับเป็น 2 มิติเหมือนเดิม

    ตอบลบ
  2. int[] oneDimension = new int[inputs.length * inputs[0].length];
    int count=0;
    for(int i=0;i<inputs.length;i++){
    for(int j=0;j<inputs[i].length;j++){
    oneDimension[count++] = inputs[i][j];

    }
    }

    oneDimension = sortOneDimension(oneDimension);

    count=0;
    for(int i=0;i<inputs.length;i++){
    for(int j=0;j<inputs[i].length;j++){
    inputs[i][j]=oneDimension[count++];
    }
    }

    ตอบลบ