如下数据
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
这样的问题..
(这里有把后面的字母拖到前面,或者把前面的字母拖到后面)特请教,,这样的算法如何解决??? (可加分)
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
这样的问题..
(这里有把后面的字母拖到前面,或者把前面的字母拖到后面)特请教,,这样的算法如何解决??? (可加分)
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]);
}
}