Προς το περιεχόμενο

λιστες


notyes

Προτεινόμενες αναρτήσεις

Δημοσ.

γεια σας θα ηθελα να ρωτησω κατι..

αν καπου λεει να χρησιμοποιησουμε ταξινομημενη λιστα

και εμεις χρησιμοποιησουμε ουρα ειναι λαθος???

 

---------- Προσθήκη στις 12:13 ---------- Προηγούμενο μήνυμα στις 04:18 ----------

 

Μαλλον απο οτι καταλαβα ειναι διαφορετικα πραγματα...

Επειδη εκανα μια ασκηση και την εκανα με ουρα ενω ζηταει ταξινομημενη λιστα..

εκατσα και εκανα εχθες τον παρακατω κωδικα για την λιστα...

εκανα μονο μια κλαση...

ο κωδικας ειναι ο παρακατω

 

>public class List {
protected Node data=null;
protected List next=null;


public List (Node info)
{
this.data=info;
}

public List()
{
this.data=null;
this.next=null;
}

public List insertAtEnd(Node a)
{
List forInsertion=new List(a);
forInsertion.next=null;
List Begin=this;


if(Begin.data==null)
{
return forInsertion;
}
else
{
while(Begin.next!=null)
{
Begin=Begin.next;
}
Begin.next=forInsertion;
}

return this;


}

public List insertOrder(Node forInsertion)
{
List insert=new List(forInsertion);
List past,future;
past=this;
future=this;

if(future.data==null)
{
insert.next=null;
return insert;
}
else
{
while(future!=null&&!(insert.data.less(future.data.key())))

{
past=future;
future=future.next;
}
if(future==this)
{
if((insert.data.less(future.data.key())))
{
insert.next=this;
return insert;
}
else
{
future.next=insert;
insert.next=null;
return this;
}
}
else
{
if(future==null)
{
past.next=insert;
insert.next=null;
return this;
}
else
{
past.next=insert;
insert.next=future;

}
}
return this;
}
}

public void printList(List forPrint)
{
if(forPrint.data!=null)
{
while(forPrint!=null)
{
forPrint.data.printData();
forPrint=forPrint.next;
}

}
else
{
System.out.println("The list is empty");
}



}

public List deleteList(Object k)
{
List node, l1,l2;
l1=this;
l2=this;

if(l1.data==null)
{
System.out.println("The list is empty...there is nothing to delete");
return this;
}
else
{
if(l1.data.equals(k))
{
l2=l1.next;
l1.data=null;
return l2;
}
while(l1!=null&&!(l1.data.equals(k)))
{
l2=l1;//l2 is the past
l1=l1.next;

}
if(l1==null)
{
System.out.println("The item doesn't exist");
return this;
}
else
{
node=l1;
l2.next=l1.next;
node.next=null;
}

}

return this;
}

public List searchList(Node k)
{
List l=this;

while((l!=null)&&!(l.data.equals(k)))
{
l=l.next;
}
return l;

}

}

 

 

 

αν γινεται καποιος ας μου απαντηση οσο το δυνατο συντομοτερο....

ευχαριστω

Δημοσ.

γεια σας θα ηθελα να ρωτησω κατι..

αν καπου λεει να χρησιμοποιησουμε ταξινομημενη λιστα

και εμεις χρησιμοποιησουμε ουρα ειναι λαθος???

 

---------- Προσθήκη στις 12:13 ---------- Προηγούμενο μήνυμα στις 04:18 ----------

 

Μαλλον απο οτι καταλαβα ειναι διαφορετικα πραγματα...

Επειδη εκανα μια ασκηση και την εκανα με ουρα ενω ζηταει ταξινομημενη λιστα..

εκατσα και εκανα εχθες τον παρακατω κωδικα για την λιστα...

εκανα μονο μια κλαση...

ο κωδικας ειναι ο παρακατω

 

>public class List {
protected Node data=null;
protected List next=null;


public List (Node info)
{
this.data=info;
}

public List()
{
this.data=null;
this.next=null;
}

public List insertAtEnd(Node a)
{
List forInsertion=new List(a);
forInsertion.next=null;
List Begin=this;


if(Begin.data==null)
{
return forInsertion;
}
else
{
while(Begin.next!=null)
{
Begin=Begin.next;
}
Begin.next=forInsertion;
}

return this;


}

public List insertOrder(Node forInsertion)
{
List insert=new List(forInsertion);
List past,future;
past=this;
future=this;

if(future.data==null)
{
insert.next=null;
return insert;
}
else
{
while(future!=null&&!(insert.data.less(future.data.key())))

{
past=future;
future=future.next;
}
if(future==this)
{
if((insert.data.less(future.data.key())))
{
insert.next=this;
return insert;
}
else
{
future.next=insert;
insert.next=null;
return this;
}
}
else
{
if(future==null)
{
past.next=insert;
insert.next=null;
return this;
}
else
{
past.next=insert;
insert.next=future;

}
}
return this;
}
}

public void printList(List forPrint)
{
if(forPrint.data!=null)
{
while(forPrint!=null)
{
forPrint.data.printData();
forPrint=forPrint.next;
}

}
else
{
System.out.println("The list is empty");
}



}

public List deleteList(Object k)
{
List node, l1,l2;
l1=this;
l2=this;

if(l1.data==null)
{
System.out.println("The list is empty...there is nothing to delete");
return this;
}
else
{
if(l1.data.equals(k))
{
l2=l1.next;
l1.data=null;
return l2;
}
while(l1!=null&&!(l1.data.equals(k)))
{
l2=l1;//l2 is the past
l1=l1.next;

}
if(l1==null)
{
System.out.println("The item doesn't exist");
return this;
}
else
{
node=l1;
l2.next=l1.next;
node.next=null;
}

}

return this;
}

public List searchList(Node k)
{
List l=this;

while((l!=null)&&!(l.data.equals(k)))
{
l=l.next;
}
return l;

}

}

 

 

 

αν γινεται καποιος ας μου απαντηση οσο το δυνατο συντομοτερο....

ευχαριστω

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...