Написание фиктивного метода дефрагментации диска с использованием массивов, перетасовкой их через

Поэтому я пытаюсь написать метод дефрагментации диска, используя массивы, один массив таблицы размещения файлов, который действует как связанный список для блоков данных, а другой ссылается на фактические данные, хотя внутри них нет данных, только целочисленные значения. Моя текущая идея состоит в том, чтобы скопировать все значения в 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, который хочу использовать для их копирования, теперь мне просто нужно перетасовать их, чтобы создать метод дефрагментации диска.

0 ответов

Другие вопросы по тегам