Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class AList0
- {
- private int [] array = new int [0];
- //1) Метод для очищения массива
- public void clear ()
- {
- array = new int[0];
- }
- //2) Метод для возвращения размера массива
- public int size() {
- return array.length;
- }
- //3) Иниализация массива
- public void init (int [] arr)
- {
- // Если пустой массив или длина 0 вызывам метод clear();
- if (arr == null || arr.length == 0)
- {
- array = new int[0];
- }
- else
- {
- array = new int [arr.length];
- for (int i = 0; i < arr.length; i++)
- {
- array[i] = arr[i];
- }
- }
- }
- //4) Метод (Возвращает сам массив)
- public int [] toArray ()
- {
- int [] copyArray = new int [array.length];
- for (int i = 0; i < array.length; i++) {
- copyArray[i] = array[i];
- }
- return copyArray;
- }
- //5) Метод возвращает строковое представление массива
- public String toString()
- {
- String string = "";
- for (int i = 0; i < array.length; i++) {
- string = string + array[i] +", " ;
- }
- return string;
- }
- //6) Метод для добавления элементов массива в начало
- public void addStart (int val)
- {
- // 1 создаем массив на 1 элмент больше
- int [] biggerArr = new int [array.length + 1];
- // 2 Присваиваем первому элементу текущее значение
- biggerArr[0] = val;
- // 3 Копируем элменты старого массива в новый массив со второго элемента
- for (int i = 0; i < array.length; i++ ) {
- biggerArr[i + 1] = array[i];
- }
- // 4 Присваиваем ссылку нового созданного массива
- array = biggerArr;
- }
- //7) Метод для добавления элементов массива в конец
- public void addEnd (int val)
- {
- // 1 создаем массив на 1 элмент больше
- int [] biggerArr = new int [array.length + 1];
- // 2 Копируем все элементы в массив
- for (int i = 0; i < array.length; i++) {
- biggerArr[i] = array[i];
- }
- // 3 Присваиваем последнему элементу переданное значение
- biggerArr[biggerArr.length - 1] = val;
- array = biggerArr;
- }
- //8) Метод для удаления элементов массива с начала и возвращаем его
- public int delStart (int val)
- {
- int [] smallerArr = new int [array.length - 1];
- int tmp = array[0];
- for (int i = 0; i < smallerArr.length; i++) {
- smallerArr[i] = array[i + 1];
- }
- return tmp;
- }
- //9) Метод для удаления элементов массива с конца и возвращаем его
- public int delEnd (int val)
- {
- int [] smallerArr = new int [array.length - 1];
- int tmp = array[array.length - 1];
- for (int i = 0; i < smallerArr.length; i++) {
- smallerArr[i] = array[i];
- }
- return tmp;
- }
- //10) Метод для определния минимального элемента массива
- public int min ()
- {
- int min = array[0];
- for (int i = 0; i < array.length; i++)
- {
- if (array[i] < min) {
- min = array[i];
- }
- }
- return min;
- }
- //11) Метод для определния максимального элемента массива
- public int max ()
- {
- int max = array[0];
- for (int i = 0; i < array.length; i++)
- {
- if (array[i] > max) {
- max = array[i];
- }
- }
- return max;
- }
- // 12) Метод возвращает индекс минимального элемента
- public int minPos()
- {
- int min = array[0];
- for (int i = 0; i < array.length; i++) {
- if (array[i] < min)
- {
- min = i;
- }
- }
- return min;
- }
- // 13) Метод возвращает индекс максимального элемента
- public int maxPos()
- {
- int max = array[0];
- for (int i = 0; i < array.length; i++) {
- if (array[i] > max)
- {
- max = i;
- }
- }
- return max;
- }
- //14) Метод для добавления элемента по позиции
- public void addPos(int val,int pos)
- {
- // 1 создаем массив на 1 элмент больше
- int [] biggerArr = new int [array.length + 1];
- // 2 Копируем элементы старого массива в новый
- for (int i = 0; i < array.length; i++ )
- {
- biggerArr[i] = array[i];
- }
- // 3 Смещаем все эдементы в право на один до переданной позиции (Идем с предпоследнего элемента массива)
- for (int i = biggerArr.length - 2; i >= pos ; i--)
- {
- biggerArr[i + 1] = biggerArr[i];
- }
- biggerArr[pos] = val;
- array = biggerArr;
- }
- //15) Метод для удаления элемента по позиции
- public int delPos(int pos)
- {
- // 1 Присваиваем удаленный эдемент
- int delPos = array[pos];
- // 2 Создаем новы массив на 1 элемент меньше
- int [] smallerArr = new int [array.length - 1];
- // 3 С позиции удаленного элемента переприсваиваем значения
- for (int i = pos; i < array.length - 1; i++)
- {
- array[i] = array[i + 1];
- }
- // 4 Записываем в новый массив на 1 элемент меньше
- for (int i = 0; i < smallerArr.length; i++)
- {
- smallerArr[i] = array[i];
- }
- return delPos;
- }
- // 16) Метод Get - возвращает необходимый элемент
- public int get (int pos)
- {
- int elem = array[0];
- for (int i = 0; i < array.length; i++) {
- if (i == pos) {
- elem = array[i];
- }
- }
- return elem;
- }
- // 17) Метод Set - устанавливает необходимое значение элемента
- public void set (int val, int pos)
- {
- for (int i = 0; i < array.length; i++) {
- if (i == pos) {
- array[i] = val;
- }
- }
- }
- // 18) Реверс массива
- public void reverse()
- {
- int [] arrCopy = new int[array.length];
- for (int i = 0; i < array.length; i++) {
- arrCopy[i] = array[i];
- }
- for (int i = 0; i < arrCopy.length / 2; i++) {
- int tmp = arrCopy[i];
- arrCopy[i] = arrCopy[arrCopy.length - 1 - i];
- arrCopy[arrCopy.length - 1 - i] = tmp;
- }
- array = arrCopy;
- }
- // 19) Half Реверс массива
- public void halfReverse()
- {
- int [] arrCopy = new int[array.length];
- for (int i = 0; i < array.length; i++) {
- arrCopy[i] = array[i];
- }
- int half = arrCopy.length / 2;
- for (int i = 0; i < half; i++) {
- int tmp = arrCopy[i];
- arrCopy[i] = arrCopy[arrCopy.length - half + i];
- arrCopy[arrCopy.length - half + i] = tmp;
- }
- array = arrCopy;
- }
- public static void main(String[] args)
- {
- int [] arr = {1,2,3,4,5};
- AList0 aList0 = new AList0();
- aList0.init(arr);
- aList0.addPos(55, 2);
- int res = aList0.delPos(1);
- System.out.println();
- System.out.println(aList0.toString());
- System.out.println(res);
- int max = aList0.maxPos();
- System.out.println(max);
- System.out.println(aList0.toString());
- int elem = aList0.get(1);
- System.out.println(elem);
- aList0.set(1000, 1);
- System.out.println(aList0.toString());
- aList0.reverse();
- System.out.println(aList0.toString());
- aList0.halfReverse();
- System.out.println(aList0.toString());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement