数据结构--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 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 list = new ArrayList<>();
      list.initacs(10);
      p.function(list);
      System.out.println(list.toString());
   }

}

你可能感兴趣的:(数据结构,最强面试宝典,数据结构,顺序表)