//-------Sap xep thu tu -------- phuong phap chon void {
//---Phan tu dem cua danh sach r=new NODE r->next=head; head=r; //Phan tu dem cua ket qua r=q=new NODE while(head->next!=NULL) { pm=p=head; cm=c=head->next; while(c!=NULL) { //Tim Min if(cm->data > c->data) { pm=p; cm=c; } p=c; c=c->next; } //Go ra khoi danh sach pm->next=cm->next; //Noi vao cuoi kq q->next=cm; //cm->next=NULL; q=cm; } //Bo phan tu dem delete head; head=r->next; delete r; rear=q; } //Sap xep bang phuong phap tron:Tron 2 danh sach thanh 1 danh sach void { //h1,h2,h,p,r h1=h1->next; p=h=new NODE; while(h1!=NULL && h2!=NULL) { if(h1->data < h2->data) { h->next=h1; h1=h1->next; } else { h->next=h2; h2=h2->next; } h=h->next; } h->next=(h1==NULL?h2:h1); r=(h1==NULL?r2:r1); h=p->next; delete p; } Ai viết giúp dùm 2 hàm trên Hàm lấy danh sách con viết thế đúng không các bạn. void List::GetSmallList(List &SmallList,int (*comp)(TYPE,TYPE)) { TYPE x; if(SmallList.Head!=NULL) //kiem tra DS con co' rong ko? SmallList.RemoveAll(); //if rong ... xoa het DS
Start(); //duyet ptu dau tien cua DS lon while(Pos!=Rear && comp(Pos->data,Pos->next->data)<0) //duyet den cuoi or co' ptu ko lien tuc nua { Getdata(x); //lay data cua ptu tai Pos SmallList.InsertRear(x); //chen` vao sau DS con Skip(); //duyet ptu ke tiep } Getdata(x); //vi khi gap ptu ke tiep sai -> thoat while -> ptu cuoi cung chua dc lay SmallList.InsertRear(x); //lay ptu cua Pos dang tro den chen` vao DS con } Có bạn nào giải mấy câu cuối chưa???Post lên cho bà con tham khảo nha