數據結構--ArrayList02 逆置順序表的所有元素

1)題目:

設置一個高效算法,將順序表L的所有元素逆置,要求算法的空間複雜度爲O(1)

2)思路:
頭尾元素依次交換

3)代碼:

源碼中使用到的ArrrayList,是調用的是自己實現的ArrayList,自己實現的ArrayList源碼地址:https://blog.csdn.net/u012441545/article/details/89667486

package com.sam.datastruct.arrayList;

public class P2_02 {
   public void function(ArrayList<Integer> list){
      if (list == null || list.size() <= 2) {
         return;
      }
      Integer tmp;
      for(int i = 0; i < list.size() / 2; ++i){
         tmp = list.get(i);//引用的是自己實現的ArrayList中的方法
         list.update(list.get(list.size() - 1 - i), i);//引用的是自己實現的ArrayList中的方法
         list.update(tmp, list.size() - 1 - i);//引用的是自己實現的ArrayList中的方法
      }
   }
   public static void main(String[] args) {
      P2_02 p = new P2_02();
      ArrayList<Integer> list = new ArrayList<>();
      list.initacs(10);
      p.function(list);
      System.out.println(list.toString());
   }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章