Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class node{
- int data;
- node prev = null;
- node next = null;
- node(int data){
- this.data = data;
- }}
- class sayembara{
- node head=null;
- node tail=null;
- void addfront(int b){
- node baru = new node(b);
- if(head==null){
- head=baru;
- tail=baru;
- }else{
- baru.next=head;
- head.prev=head;
- head=baru;
- }
- }
- void addback(int b){
- node baru = new node(b);
- if(head==null){
- head=baru;
- tail=baru;
- }else{
- baru.prev=tail;
- tail.next=baru;
- tail=baru;
- }
- }
- void dellfront(){
- if(head==null){
- System.out.println("List Kosong");
- }else{
- head=head.next;
- head.prev=null;
- }
- }
- void dellback(){
- if(head==null){
- System.out.println("List Kosong");
- }else{
- tail=tail.prev;;
- tail.next=null;
- }
- }
- void tampil(){
- node tmp=head;
- if(head==null){
- System.out.println("List Kosong");
- }else{
- while(tmp !=null){
- System.out.print(tmp.data +" ");
- tmp=tmp.next;
- }
- }System.out.println();
- }
- void addafter(int barunya,int dituju){
- node tmp=head;
- node baru = new node(barunya);
- while(tmp.data != dituju){
- tmp=tmp.next;
- }
- node bantu = tmp.next;
- tmp.next=baru;
- baru.next=bantu;
- baru.prev=tmp;
- bantu.prev=baru;
- }
- void addbefore(int barunya,int dituju){
- node tmp=head;
- node baru = new node(barunya);
- while(tmp.data != dituju){
- tmp=tmp.next;
- }
- node bantu = tmp.prev;
- bantu.next=baru;
- baru.prev=bantu;
- tmp.prev=baru;
- baru.next=tmp;
- }
- void deleteafter(int dituju){
- node tmp=head;
- while(tmp.data != dituju){
- tmp=tmp.next;
- }
- node bantu = tmp.next.next;
- tmp.next=bantu;
- bantu.prev=tmp;
- }
- void deletebefore(int dituju){
- node tmp=head;
- while(tmp.data != dituju){
- tmp=tmp.next;
- }
- node bantu = tmp.prev.prev;
- tmp.prev=bantu;
- bantu.next=tmp;
- }
- void addbetwen(int barunya,int dituju1, int dituju2){
- node tmp=head;
- node baru = new node(barunya);
- while(tmp.data != dituju1&&tmp.next.data!=dituju2){
- tmp=tmp.next;
- }
- node bantu = tmp.next;
- tmp.next=baru;
- baru.next=bantu;
- baru.prev=tmp;
- bantu.prev=baru;
- }
- void deletebetwen(int dituju1, int dituju2){
- node tmp=head;
- while(tmp.data != dituju1&&tmp.next.next.data!=dituju2){
- tmp=tmp.next;
- }
- node bantu = tmp.next.next;
- tmp.next=bantu;
- bantu.prev=tmp;
- }
- void deleteall(){
- head=null;
- tail=null;
- System.out.println("data kosong sudah dihapus semua");
- }
- void search(int dituju){
- node tmp=head;
- int index=0;
- while(tmp.data != dituju){
- tmp=tmp.next;
- index=index+1;
- }
- if(tmp.next!=null&& tmp.prev!=null){
- System.out.println("data yang anda cari berada pada index ke : ["+index+"] sebelum data angka "+tmp.prev.data+" dan sesudah angka "+tmp.next.data);
- }
- if(tmp.next==null){
- System.out.println("data yang anda cari berada pada index ke :["+index+"] sebelum data angka "+tmp.prev.data+" dan merupakan data terakhir");
- }
- if(tmp.prev==null){
- System.out.println("data yang anda cari berada pada index ke :["+index+"] sesudah data angka "+tmp.next.data+" dan merupakan data pertama atau awal");
- }
- }
- public static void main (String [] args){
- sayembara x= new sayembara();
- System.out.println("memasukkan data dan menampilkan data awal dengan addback dan addfront:");
- x.addback(2);
- x.addback(6);
- x.addback(13);
- x.addback(19);
- x.addback(46);
- x.addback(35);
- x.addfront(83);
- x.tampil();
- System.out.println("menghapus 1 data awal dengan fungsi deletefront:");
- x.dellfront();
- x.tampil();
- System.out.println("menghapus 1 data akhir dengan fungsi deleteback:");
- x.dellback();
- x.tampil();
- System.out.println("menambahkan data angka 3 pada sesudah data angka 19:");
- x.addafter(3,19);
- x.tampil();
- System.out.println("menambahkan data angka 13 pada sebelum data angka 3:");
- x.addbefore(13,3);
- x.tampil();
- System.out.println("menghapus data pada sesudah data angka 19:");
- x.deleteafter(19);
- x.tampil();
- System.out.println("menghapus data pada sebelum data angka 19:");
- x.deletebefore(19);
- x.tampil();
- System.out.println("menambah data angka 79 diantara data angka 6 dan 19:");
- x.addbetwen(70,6,19);
- x.tampil();
- System.out.println("menghapus data diantara data angka 70 dan 3:");
- x.deletebetwen(70,3);
- x.tampil();
- System.out.println("mencari data index angka 3:");
- x.search(46);
- System.out.println("menghapus semua :");
- x.deleteall();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment