黑马程序员技术交流社区

标题: 今天玩的排序 看的累死了 [打印本页]

作者: 杜正冬    时间: 2012-11-25 17:02
标题: 今天玩的排序 看的累死了
本帖最后由 杜正冬 于 2012-11-25 17:03 编辑

        // 已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。

        public static void main(String[] args) {

                ReadFile();

        }

        public static void ReadFile() {
                String str = null;
                try {
                        FileReader fr = new FileReader("D:\\a.txt");
                        char[] buf = new char[1024];
                        int num = 0;
                        while ((num = fr.read(buf)) != -1) {
                                str = new String(buf, 0, num);
                                System.out.println("文件内容是:" + str);
                        }
                } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                byte[] bu = str.getBytes();
                for (int i = 0; i < bu.length; i++) {
                        int index = locateNextMaxNumber(bu, i);
                        exchange(bu, i, index);//调用排序
                }
                System.out.print(new String(bu));
        }

        public static int locateNextMaxNumber(byte[] a, int sta) {
                int staNum = a[sta], staIndex = sta;
                for (int i = sta + 1; i < a.length; i++) {
                        if (a < staNum) {
                                staIndex = i;
                                staNum = a;
                        }
                }
                return staIndex;
        }

        public static void exchange(byte[] a, int i, int j) {
                byte temp = a;
                a = a[j];
                a[j] = temp;
        }

未222命名.jpg (230.61 KB, 下载次数: 24)

未222命名.jpg





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2