Maxim_Leo

Untitled

May 9th, 2022
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.62 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.Vector;
  7.  
  8.  
  9. class Pair<T,M>{
  10. private T first;
  11. private M second;
  12. final T getFirst(){
  13. return first;
  14. }
  15. final M getSecond(){
  16. return second;
  17. }
  18. final void setFirst(T m){
  19. this.first=m;
  20. }
  21. final void setSecond(M i){
  22. this.second=i;
  23. }
  24. protected Pair(){}
  25. public Pair(T max,M index){
  26. this.first=max;
  27. this.second=index;
  28. }
  29. public static <T,M> Pair make_pair(T max,M index){
  30. return new Pair<T,M>(max,index);
  31. }
  32. final void show(){
  33. System.out.print(first+" ");
  34. System.out.print(second+" ");
  35. }
  36.  
  37. }
  38.  
  39.  
  40. class Bag {
  41. private final ArrayList<Object> mas = new ArrayList<>();
  42.  
  43. protected Bag() {}
  44.  
  45. public Bag(int n) {
  46. for (int i = 0; i < n; i++) {
  47. mas.add(i, null);
  48. }
  49. }
  50.  
  51. public void add(Object num) {
  52. int count = -1;
  53. boolean flag = false;
  54. int r = (int) Math.round(Math.random() * (mas.size() - 1));
  55. while (!flag) {
  56. for (int k = 0; k < mas.size(); k++) {
  57. if (mas.get(k) == null) {
  58. if(r == k) {
  59. mas.set(r, num);
  60. System.out.println("Предмет " + mas.get(k) + " добавлен в мешок");
  61. flag = true;
  62. break;
  63. }
  64. } else count++;
  65. }
  66. r = (int) Math.round(Math.random() * (mas.size() - 1));
  67. if (mas.size() - 1 == count) {
  68. System.out.println("Мешок полон");
  69. break;
  70. }
  71. }
  72. }
  73.  
  74. public Object remove() {
  75. boolean flag = false;
  76. Object tmp=null;
  77. if (mas.size() == 0) return tmp;
  78. while (!flag) {
  79. int r = (int) Math.round(Math.random() * (mas.size() - 1));
  80. for (int k = 0; k < mas.size(); k++) {
  81. if (mas.get(k) != null && r == k) {
  82. tmp = mas.get(k);
  83. System.out.println("Предмет " + mas.get(k) + " удален");
  84. mas.set(k,null);
  85. flag = true;
  86. break;
  87. }
  88. }
  89. }
  90. return tmp;
  91. }
  92.  
  93. public final Object retElem(int i) {
  94. return mas.get(i);
  95. }
  96.  
  97. public final int retSize() {
  98. return mas.size();
  99. }
  100.  
  101. public void show() {
  102. for (Object i : mas) {
  103. System.out.print(i + " ");
  104. }
  105. System.out.println();
  106. }
  107. }
  108.  
  109. class PairBag extends Bag {
  110.  
  111. private ArrayList<Pair> pmas = new ArrayList<>();
  112.  
  113. public PairBag(int n) {
  114.  
  115. for (int i = 0; i < n; i++) {
  116. pmas.add(i, null);
  117. }
  118. }
  119.  
  120. public <T, M> void addpair(T first, M second) {
  121. int count = -1;
  122. boolean flag = false;
  123. Pair<T, M> pair1 = new Pair<>(first, second);
  124. int r = (int) Math.round(Math.random() * (pmas.size() - 1));
  125. while (!flag) {
  126. for (int k = 0; k < pmas.size(); k++) {
  127. if (pmas.get(k) == null) {
  128. if(r==k) {
  129. pmas.set(r, pair1);
  130. System.out.println("Пара значений ");
  131. pmas.get(k).show();
  132. System.out.print("добавлена в мешок");
  133. System.out.println();
  134. flag = true;
  135. break;
  136. }
  137. } else count++;
  138. }
  139. r = (int) Math.round(Math.random() * (pmas.size() - 1));
  140. if (pmas.size() - 1 == count) {
  141. System.out.println("Мешок полон");
  142. break;
  143. }
  144. }
  145. }
  146.  
  147. public Pair delpair() {
  148. boolean flag = false;
  149. Pair tmp = new Pair();
  150. if (pmas.size() == 0) return tmp;
  151. while (!flag) {
  152. int R = (int) Math.round(Math.random() * (pmas.size() - 1));
  153. for (int k = 0; k < pmas.size(); k++) {
  154. if (pmas.get(k) != null && R == k) {
  155. tmp = pmas.get(k);
  156. System.out.println("Пара значений ");
  157. pmas.get(k).show();
  158. System.out.print(" удалена");
  159. pmas.remove(k);
  160. flag = true;
  161. break;
  162. }
  163. }
  164. }
  165. return tmp;
  166. }
  167.  
  168. @Override
  169. public void show() {
  170. for (int i = 0; i < pmas.size(); i++) {
  171. if (pmas.get(i) != null) {
  172. pmas.get(i).show();
  173. System.out.print(" ");
  174. } else System.out.print(pmas.get(i) + " ");
  175. }
  176. System.out.println();
  177. }
  178. }
  179. class GPairBag<T> extends PairBag{
  180.  
  181. GPairBag(int n){
  182. super(n);
  183. }
  184.  
  185. @Override
  186. public <T, M> void addpair(T first, M second) {
  187.  
  188. if(second.getClass()==first.getClass())
  189. super.addpair(first, second);
  190. else System.out.println("Типы элементов пары не равны");
  191. }
  192.  
  193. }
  194. abstract class HashFunction<K>{
  195. abstract int hash(K s);
  196. HashFunction(int strings,int columns){
  197.  
  198. }
  199. }
  200. class Hashtable<K,T>{
  201. Vector<List<T>> table;
  202. Hashtable(int strings,int columns,HashFunction<K> hash){
  203.  
  204. }
  205. }
  206.  
  207. class Dlist<T1,T2>{
  208.  
  209. ArrayList<T1> value;
  210. ArrayList<ArrayList<T2>> val;
  211.  
  212. Dlist() {
  213. value = new ArrayList<>(20);
  214. val = new ArrayList<>(20);
  215. }
  216. Dlist(int n) {
  217. value = new ArrayList<>(n);
  218. val = new ArrayList<>(n);
  219.  
  220. }
  221. public void add(T1 num1,ArrayList<T2> num2){
  222. ArrayList<T2> g = new ArrayList<>();
  223. value.add(num1);
  224. val.add(num2);
  225. }
  226. public void del(int i){
  227. value.remove(i);
  228. val.remove(i);
  229. }
  230. public void show(int i){
  231. System.out.println("Значение: "+value.get(i));
  232. System.out.println("Соответсвующие значения"+val.get(i));
  233. }
  234. }
  235. public class Main {
  236.  
  237. public static void main(String[] args) {
  238.  
  239. com.company.Pair.make_pair(5, "s");
  240. System.out.println();
  241. Bag bag = new Bag(5);
  242. bag.add(5);
  243. bag.add(1);
  244. bag.add(52);
  245. bag.add(-6);
  246. bag.add(3);
  247. bag.add(3);
  248. bag.add(4);
  249. bag.add(8);
  250. System.out.println(bag.retSize());
  251. System.out.println();
  252. System.out.println(bag.retElem(1));
  253. System.out.println();
  254. bag.show();
  255. bag.remove();
  256. bag.show();
  257. bag.remove();
  258. bag.show();
  259. bag.remove();
  260. bag.show();
  261.  
  262.  
  263. PairBag pairbag = new PairBag(5);
  264. pairbag.addpair(7, "cats");
  265. pairbag.addpair(5, "dogs");
  266. pairbag.addpair(10, "parrots");
  267. pairbag.addpair(2, "bears");
  268. pairbag.addpair(1, "tiger");
  269. pairbag.show();
  270.  
  271.  
  272.  
  273.  
  274. }
  275. }
  276.  
  277.  
Advertisement
Add Comment
Please, Sign In to add comment