#include "myitem.h" #include "mylist.h" #include "iostream.h" list::list() { anchor = cip = 0; size = 0; } list::~list() { if (anchor != 0) disposelist(); } breakpoint * list::insertbreakpoint(breakpoint * ip) { if (ip == 0) { //size++; return 0; } if (anchor == 0) { //size++; return anchor = cip = ip; } size ++; return ip->link(cip); } breakpoint * list::removebreakpoint(breakpoint * ip) { if (ip == 0) return 0; if (ip->getright() == ip) anchor = cip = 0; else { if (ip == anchor) anchor = anchor->getright(); if (cip == ip) cip = cip->getright(); } size --; return ip->unlink(); } breakpoint * list::prevbreakpoint() { if (cip != 0) { cip = cip->getleft(); } return cip; } breakpoint * list::nextbreakpoint() { if (cip!=0) { cip = cip->getright(); } return cip; } void list::disposelist() { while (!listEmpty()) delete removebreakpoint(currentbreakpoint()); } void list::sortlist() { int swapped; do { swapped = 0; resetlist(); //cout << size <getbreakpoint(); int j = two->getbreakpoint(); one->setbreakpoint(j); two->setbreakpoint(temp); } int list::compare (breakpoint * one, breakpoint * two) { int a = one->getbreakpoint(); int b = two->getbreakpoint(); if ((a == 10)||(a==b)) { removebreakpoint(one); return (0b); }