Написание фиктивного метода дефрагментации диска с использованием массивов, перетасовкой их через
Поэтому я пытаюсь написать метод дефрагментации диска, используя массивы, один массив таблицы размещения файлов, который действует как связанный список для блоков данных, а другой ссылается на фактические данные, хотя внутри них нет данных, только целочисленные значения. Моя текущая идея состоит в том, чтобы скопировать все значения в ArrayList, а затем записать обратно в массив, чтобы перетасовать "блоки", вот что у меня есть до сих пор:
import java.util.ArrayList;
public class Main {
static int FAT[] = new int[16]; // File allocation table
static int dataBlocks[] = new int[16]; // Datablocks although these represent random values
static int diskBlocks = 16; // amount of disblocks
static int dataEnd = -5;
static ArrayList<Integer> t = new ArrayList<Integer>(); // temporary array
public static void main(String args[]){
for( int i = 0; i< 16; i++){
FAT[i] = i+1; // this referes to the next value in the list
dataBlocks[i] = i;
t.add(FAT[i]); //add the values to a temporary array
if(i == 10){
FAT[i + 1] = dataEnd;
t.set(i, dataEnd);
}
}
}
}
Пока что я просто добавляю значения в Arrays / Arraylist, который хочу использовать для их копирования, теперь мне просто нужно перетасовать их, чтобы создать метод дефрагментации диска.