Advertisement
Guest User

Untitled

a guest
Dec 4th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.55 KB | None | 0 0
  1.  
  2. public class AList0
  3. {
  4. private int [] array = new int [0];
  5. //1) Метод для очищения массива
  6. public void clear ()
  7. {
  8. array = new int[0];
  9. }
  10. //2) Метод для возвращения размера массива
  11. public int size() {
  12. return array.length;
  13. }
  14. //3) Иниализация массива
  15. public void init (int [] arr)
  16. {
  17. // Если пустой массив или длина 0 вызывам метод clear();
  18. if (arr == null || arr.length == 0)
  19. {
  20. array = new int[0];
  21. }
  22. else
  23. {
  24. array = new int [arr.length];
  25.  
  26. for (int i = 0; i < arr.length; i++)
  27. {
  28. array[i] = arr[i];
  29. }
  30. }
  31. }
  32. //4) Метод (Возвращает сам массив)
  33. public int [] toArray ()
  34. {
  35. int [] copyArray = new int [array.length];
  36.  
  37. for (int i = 0; i < array.length; i++) {
  38. copyArray[i] = array[i];
  39. }
  40. return copyArray;
  41. }
  42. //5) Метод возвращает строковое представление массива
  43. public String toString()
  44. {
  45. String string = "";
  46. for (int i = 0; i < array.length; i++) {
  47. string = string + array[i] +", " ;
  48. }
  49. return string;
  50. }
  51. //6) Метод для добавления элементов массива в начало
  52. public void addStart (int val)
  53. {
  54. // 1 создаем массив на 1 элмент больше
  55. int [] biggerArr = new int [array.length + 1];
  56. // 2 Присваиваем первому элементу текущее значение
  57. biggerArr[0] = val;
  58. // 3 Копируем элменты старого массива в новый массив со второго элемента
  59. for (int i = 0; i < array.length; i++ ) {
  60. biggerArr[i + 1] = array[i];
  61. }
  62. // 4 Присваиваем ссылку нового созданного массива
  63. array = biggerArr;
  64. }
  65. //7) Метод для добавления элементов массива в конец
  66. public void addEnd (int val)
  67. {
  68. // 1 создаем массив на 1 элмент больше
  69. int [] biggerArr = new int [array.length + 1];
  70.  
  71. // 2 Копируем все элементы в массив
  72. for (int i = 0; i < array.length; i++) {
  73. biggerArr[i] = array[i];
  74. }
  75. // 3 Присваиваем последнему элементу переданное значение
  76. biggerArr[biggerArr.length - 1] = val;
  77.  
  78. array = biggerArr;
  79.  
  80. }
  81. //8) Метод для удаления элементов массива с начала и возвращаем его
  82. public int delStart (int val)
  83. {
  84. int [] smallerArr = new int [array.length - 1];
  85. int tmp = array[0];
  86. for (int i = 0; i < smallerArr.length; i++) {
  87. smallerArr[i] = array[i + 1];
  88. }
  89. return tmp;
  90.  
  91. }
  92. //9) Метод для удаления элементов массива с конца и возвращаем его
  93. public int delEnd (int val)
  94. {
  95. int [] smallerArr = new int [array.length - 1];
  96. int tmp = array[array.length - 1];
  97. for (int i = 0; i < smallerArr.length; i++) {
  98. smallerArr[i] = array[i];
  99. }
  100. return tmp;
  101.  
  102. }
  103. //10) Метод для определния минимального элемента массива
  104. public int min ()
  105. {
  106. int min = array[0];
  107. for (int i = 0; i < array.length; i++)
  108. {
  109. if (array[i] < min) {
  110. min = array[i];
  111. }
  112. }
  113. return min;
  114.  
  115. }
  116. //11) Метод для определния максимального элемента массива
  117. public int max ()
  118.  
  119. {
  120. int max = array[0];
  121. for (int i = 0; i < array.length; i++)
  122. {
  123. if (array[i] > max) {
  124. max = array[i];
  125. }
  126. }
  127. return max;
  128.  
  129. }
  130. // 12) Метод возвращает индекс минимального элемента
  131. public int minPos()
  132. {
  133. int min = array[0];
  134. for (int i = 0; i < array.length; i++) {
  135. if (array[i] < min)
  136. {
  137. min = i;
  138. }
  139. }
  140. return min;
  141. }
  142. // 13) Метод возвращает индекс максимального элемента
  143. public int maxPos()
  144. {
  145. int max = array[0];
  146. for (int i = 0; i < array.length; i++) {
  147. if (array[i] > max)
  148. {
  149. max = i;
  150. }
  151. }
  152. return max;
  153. }
  154. //14) Метод для добавления элемента по позиции
  155. public void addPos(int val,int pos)
  156. {
  157. // 1 создаем массив на 1 элмент больше
  158. int [] biggerArr = new int [array.length + 1];
  159. // 2 Копируем элементы старого массива в новый
  160. for (int i = 0; i < array.length; i++ )
  161. {
  162. biggerArr[i] = array[i];
  163. }
  164. // 3 Смещаем все эдементы в право на один до переданной позиции (Идем с предпоследнего элемента массива)
  165. for (int i = biggerArr.length - 2; i >= pos ; i--)
  166. {
  167. biggerArr[i + 1] = biggerArr[i];
  168. }
  169. biggerArr[pos] = val;
  170.  
  171. array = biggerArr;
  172. }
  173. //15) Метод для удаления элемента по позиции
  174. public int delPos(int pos)
  175. {
  176. // 1 Присваиваем удаленный эдемент
  177. int delPos = array[pos];
  178. // 2 Создаем новы массив на 1 элемент меньше
  179. int [] smallerArr = new int [array.length - 1];
  180. // 3 С позиции удаленного элемента переприсваиваем значения
  181. for (int i = pos; i < array.length - 1; i++)
  182. {
  183. array[i] = array[i + 1];
  184. }
  185. // 4 Записываем в новый массив на 1 элемент меньше
  186. for (int i = 0; i < smallerArr.length; i++)
  187. {
  188. smallerArr[i] = array[i];
  189. }
  190. return delPos;
  191.  
  192. }
  193. // 16) Метод Get - возвращает необходимый элемент
  194. public int get (int pos)
  195. {
  196. int elem = array[0];
  197. for (int i = 0; i < array.length; i++) {
  198. if (i == pos) {
  199. elem = array[i];
  200. }
  201. }
  202. return elem;
  203. }
  204. // 17) Метод Set - устанавливает необходимое значение элемента
  205. public void set (int val, int pos)
  206. {
  207. for (int i = 0; i < array.length; i++) {
  208. if (i == pos) {
  209. array[i] = val;
  210. }
  211. }
  212. }
  213. // 18) Реверс массива
  214. public void reverse()
  215. {
  216. int [] arrCopy = new int[array.length];
  217. for (int i = 0; i < array.length; i++) {
  218. arrCopy[i] = array[i];
  219. }
  220. for (int i = 0; i < arrCopy.length / 2; i++) {
  221. int tmp = arrCopy[i];
  222. arrCopy[i] = arrCopy[arrCopy.length - 1 - i];
  223. arrCopy[arrCopy.length - 1 - i] = tmp;
  224. }
  225. array = arrCopy;
  226. }
  227. // 19) Half Реверс массива
  228. public void halfReverse()
  229. {
  230. int [] arrCopy = new int[array.length];
  231. for (int i = 0; i < array.length; i++) {
  232. arrCopy[i] = array[i];
  233. }
  234. int half = arrCopy.length / 2;
  235. for (int i = 0; i < half; i++) {
  236. int tmp = arrCopy[i];
  237. arrCopy[i] = arrCopy[arrCopy.length - half + i];
  238. arrCopy[arrCopy.length - half + i] = tmp;
  239. }
  240. array = arrCopy;
  241. }
  242. public static void main(String[] args)
  243. {
  244. int [] arr = {1,2,3,4,5};
  245. AList0 aList0 = new AList0();
  246. aList0.init(arr);
  247. aList0.addPos(55, 2);
  248. int res = aList0.delPos(1);
  249. System.out.println();
  250. System.out.println(aList0.toString());
  251. System.out.println(res);
  252. int max = aList0.maxPos();
  253. System.out.println(max);
  254. System.out.println(aList0.toString());
  255. int elem = aList0.get(1);
  256. System.out.println(elem);
  257. aList0.set(1000, 1);
  258. System.out.println(aList0.toString());
  259. aList0.reverse();
  260. System.out.println(aList0.toString());
  261. aList0.halfReverse();
  262. System.out.println(aList0.toString());
  263.  
  264.  
  265.  
  266. }
  267.  
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement