voila j'essaie de faire une opération de soustraction sur un index pour le compressé (i+1 - i) ... donc je crée un autre index qui va joué le role de i

donc un index va se modifié en avançant dans la boucle car je vais écrire sur lui

mais le probléme c'est que les 2 index se modifie en méme temp et ca donne un résultat erroné

donc ma question est comment avoir un index ou il ne se modifie pas avec la modification de l'autre

voila le fragment concerné de mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public static void compression(){
 
    for(int i=0;i<index_Opt.size();i++){
        for (int j = 0; j < index_Opt.get(i).Posting_list.size(); j++) {
            int m=1;
 
            for (int k = 1; k < index_Opt.get(i).Posting_list.get(j).list.size(); k++) {
 
 
 
 
                 index_Opt.get(i).Posting_list.get(j).list.get(k).DocId=index_Opt.get(i).Posting_list.get(j).list.get(k).DocId  - index_Opt2.get(i).Posting_list.get(j).list.get(k-1).DocId ;
            }
        }
    }
    Chargé_Index.sauver_indexOptimisé(index_Opt, "index_compress.txt");
 
}
 
    public static void main(String[] args) throws IOException {
 
      //  new Optimiser_Index();
optimisation_index();
        index_cur.clear();
 
        optimiserIndex_listeDoc();
          index_Opt2= index_Opt;
 
        compression();
 
    }