#include<iostream> using namespace std; int LocateNode(DLinkList *h,ElemType x) { DLinkList *p=h->next,*q; while(p!=NULL&&p->data!=x) p=p->next; if(p==NULL) return 0; else { p->freq++; q=p->prior; while(q!=h&&q->freq<p->freq) { p->prior=q->prior; p->prior->next=p; q->next=p->next; if(q->next!=NULL) q->next->prior=q; p->prior=q; q->next=p; q=p->next; } return 1; } }