如下数据
index   title
1        a
2        b
3        c
4        e
5        f
数据显示按照1,2,3,4,5这样的排序.在界面显示时,可让用户随意拖拉title的字母顺序(实质就是改变字母的index顺序号),改变字母显示顺序,保证显示数据永远按1,2,3,4,5这样的显示.这样就产生了字母的index重新排序的问题, 比如把b 拖到e后面,那实际排序就是:1 a
2 c
3 e
4 b
5 f
这样的问题..  
(这里有把后面的字母拖到前面,或者把前面的字母拖到后面)特请教,,这样的算法如何解决??? (可加分)

解决方案 »

  1.   

    public class Swapper {
     public static  void swap(char[][] src, int s, int e) {
        s -= 1;
        e -= 1;
        char temp = src[s][1];
        if (s < e) {
          for (int i = s ; i < e; i++) {
            src[i][1] = src[i + 1][1];
          }
        }
        else {
          for (int i = s; i > e; i--) {
            src[i][1] = src[i - 1][1];
          }
        }
        src[e][1]=temp;
      }
      public static void main(String[] args) {
        char[][]ia=new char[5][2];
        ia[0][0]='1';
        ia[0][1]='a';
        ia[1][0]='2';
        ia[1][1]='b';
        ia[2][0]='3';
        ia[2][1]='c';
        ia[3][0]='4';
        ia[3][1]='d';
        ia[4][0]='5';
        ia[4][1]='e';
        swap(ia,5,1);
        System.out.println(ia[0][1]);
        System.out.println(ia[1][1]);
        System.out.println(ia[2][1]);
        System.out.println(ia[3][1]);
        System.out.println(ia[4][1]);
    }
    }