gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 55ed350)
raw | patch | inline | side by side (parent: 55ed350)
author | Doni Pracner <quinnuendo@gmail.com> | |
Tue, 19 Nov 2019 18:38:08 +0000 (19:38 +0100) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Tue, 19 Nov 2019 18:38:08 +0000 (19:38 +0100) |
Hash/primeri/Gadjanje.java | patch | blob | history | |
Hash/primeri/XO.java | patch | blob | history |
index 0a3ebfb0eb8b1fd7e4bc07f78546688f944fc91b..33327c29146d88f1189f3553601d2e4e3caff438 100644 (file)
}
Gadjanje o2 = (Gadjanje) o;
- // proveravamo da li je polje null pre dalje provere
+
+ // proveravamo da li su polja null pre dalje provere
+ if (rezultati == null && o2.rezultati != null) {
+ return false;
+ }
+ if (rezultati != null && o2.rezultati == null) {
+ return false;
+ }
+
+ // ako u obe instance nije null, poredimo delove
if (rezultati != null && o2.rezultati != null) {
- if (o2.rezultati.length == rezultati.length) {
- for (int i = 0; i < rezultati.length; i++) {
- if (o2.rezultati[i] != rezultati[i]) {
- // cim je nesto razlicito nisu isti
- return false;
- }
+ // proverimo duzinu.
+ if (o2.rezultati.length != rezultati.length) {
+ return false;
+ }
+ // ako je ista duzina proveravamo elemente
+ for (int i = 0; i < rezultati.length; i++) {
+ if (o2.rezultati[i] != rezultati[i]) {
+ // cim je nesto razlicito nisu isti
+ return false;
}
- // ako se sve vrednosti slazu isti su
- return true;
}
- return false;
- } else {
- // vracamo da li su oba null, tj da li su jednaki
- return (rezultati == null && o2.rezultati == null);
}
+ // ako nije bilo razlika, vracamo da je sve ok
+ return true;
}
@Override
int rez = 0;
if (rezultati != null) {
for (int i = 0; i < rezultati.length; i++) {
- rez = (rez + rezultati[i] + 1) * 11 ;
+ rez = (rez + rezultati[i] + 1) * 11;
}
}
return rez;
diff --git a/Hash/primeri/XO.java b/Hash/primeri/XO.java
index f148e8ec566ed0c9f31c9d9e179f16099f0d6b18..ae1b0a3eab4e6a27e3c9a8f4c6d042a9b68fa633 100644 (file)
--- a/Hash/primeri/XO.java
+++ b/Hash/primeri/XO.java
XO o2 = (XO) o;
// posto je u ovoj klasi uvek inicijalizovano polje table
// i uvek je DIM x DIM ne moramo proveravati null
+ // niti da li su iste dimenzije
for (int i = 0; i < DIM; i++) {
for (int j = 0; j < DIM; j++) {
if (o2.tabla[i][j] != tabla[i][j]) {
@Override
public int hashCode() {
int rez = 0;
+ int koef = 3;
for (int i = 0; i < DIM; i++) {
for (int j = 0; j < DIM; j++) {
- rez += tabla[i][j];
+ rez = koef * (rez + (tabla[i][j] + 2));
}
}
return rez;