Maxim_Leo

Untitled

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