Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void Zig_right(No no1, No no2) {
- No noTemp = no1.getDireita();
- no1.setDireita(no2);
- no1.setPai(null);
- no2.setPai(no1);
- no2.setEsquerda(noTemp);
- if (noTemp != null)
- noTemp.setPai(no2);
- raiz = no1;
- }
- private void Zig_left(No no1, No no2) {
- No noTemp = no1.getEsquerda();
- no1.setEsquerda(no2);
- no1.setPai(null);
- no2.setPai(no1);
- no2.setDireita(noTemp);
- if (noTemp != null)
- noTemp.setPai(no2);
- raiz = no1;
- }
- private void ZigZig_right(No no1, No no2, No no3) {
- No noTemp = no1.getDireita();
- no1.setDireita(no2);
- no2.setEsquerda(noTemp);
- if (noTemp != null)
- noTemp.setPai(no2);
- no2.setPai(no1);
- noTemp = no2.getDireita();
- no2.setDireita(no3);
- no3.setEsquerda(noTemp);
- if (noTemp != null)
- noTemp.setPai(no3);
- noTemp = no3.getPai();
- no3.setPai(no2);
- no1.setPai(noTemp);
- if (noTemp != null) {
- if (noTemp.getDireita().equals(no3))
- noTemp.setDireita(no1);
- else
- noTemp.setEsquerda(no1);
- } else {
- raiz = no1;
- }
- }
- private void ZigZig_left(No no1, No no2, No no3) {
- No noTemp = no1.getEsquerda();
- no1.setEsquerda(no2);
- no2.setDireita(noTemp);
- if (noTemp != null)
- noTemp.setPai(no2);
- no2.setPai(no1);
- noTemp = no2.getEsquerda();
- no2.setEsquerda(no3);
- no3.setDireita(noTemp);
- if (noTemp != null)
- noTemp.setPai(no3);
- noTemp = no3.getPai();
- no3.setPai(no2);
- no1.setPai(noTemp);
- if (noTemp != null) {
- if (noTemp.getDireita().equals(no3))
- noTemp.setDireita(no1);
- else
- noTemp.setEsquerda(no1);
- } else {
- raiz = no1;
- }
- }
- private void ZigZag_right(No no1, No no2, No no3) {
- No noTemp1 = no1.getDireita();
- No noTemp2 = no1.getEsquerda();
- no1.setDireita(no2);
- no2.setPai(no1);
- no1.setEsquerda(no3);
- no1.setPai(no3.getPai());
- no3.setPai(no1);
- no2.setEsquerda(noTemp1);
- if (noTemp1 != null)
- noTemp1.setPai(no2);
- no3.setDireita(noTemp2);
- if (noTemp2 != null)
- noTemp2.setPai(no3);
- if (no1.getPai() != null) {
- if (no1.getPai().getDireita() != null &&
- no1.getPai().getDireita().equals(no3))
- no1.getPai().setDireita(no1);
- else
- no1.getPai().setEsquerda(no1);
- } else {
- raiz = no1;
- }
- }
- private void ZigZag_left(No no1, No no2, No no3) {
- No noTemp1 = no1.getEsquerda();
- No noTemp2 = no1.getDireita();
- no1.setEsquerda(no2);
- no2.setPai(no1);
- no1.setDireita(no3);
- no1.setPai(no3.getPai());
- no3.setPai(no1);
- no2.setDireita(noTemp1);
- if (noTemp1 != null)
- noTemp1.setPai(no2);
- no3.setEsquerda(noTemp2);
- if (noTemp2 != null)
- noTemp2.setPai(no3);
- if (no1.getPai() != null) {
- if (no1.getPai().getDireita() != null &&
- no1.getPai().getDireita().equals(no3))
- no1.getPai().setDireita(no1);
- else
- no1.getPai().setEsquerda(no1);
- } else {
- raiz = no1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement