gpt4 book ai didi

java - 在 Java 中写入文件时使用插入排序

转载 作者:行者123 更新时间:2023-11-29 05:29:02 24 4
gpt4 key购买 nike

我在写入文件时尝试使用插入排序。我是 Java 的新手,似乎找不到解决方案。这是我正在使用的代码:

private void add(DbObject d) throws IOException {
database = new RandomAccessFile(fName,"rw");
database.seek(database.length());
d.writeToFile(database);
database.close();
}

这是在将人员信息添加到文件中。其中一个字段是 SSN#。目前,如果我要添加一个 SSN# 222222222 并且在它已经是一个 SSN# 为 444444444 的记录之前,222222222 记录将在 444444444 记录之后。我需要将其执行到 222222222 将自身插入到 444444444 记录之前的位置。

我知道我必须比较两者,并以某种方式将其中一个存储在某种 tmp 变量中,但我似乎不知道从哪里开始。非常感谢任何帮助。提前致谢!

最佳答案

  1. 您需要阅读文件以确定新记录需要去哪里。
  2. 您需要为新记录腾出空间
  3. 您需要在适当的位置写入新记录。

1 和 3 很简单; 2是讨厌的一点。 2 种主要方法:

  1. 将新记录之后的文件部分复制到文件中足够深的位置,以便为新记录腾出空间。
  2. 通过复制新记录之前的内容,然后写入新记录,然后复制之后的内容来制作文件副本。然后您可以删除文件的旧副本并重命名新副本。

如果文件中每一行的长度都相同,所有这些都会更容易一些。

顺便说一句:这真的不是插入排序。

关于java - 在 Java 中写入文件时使用插入排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21764334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com