【データ構造】(シングルチェーン表)シングルチェーン表の泡並べ替え
5257 ワード
計算方法の思想:泡を噴き出して並べ替える核心の思想はメモリの循環のために毎回泡を噴き出して1つの最大の数を端まで出します.
void BubbleSort(LNode *&head){
if(head->next==NULL||head->next->next==NULL) //
return ;
int flag=0;
LNode *cur; //
LNode *pre; //
LNode *tail=NULL; //
LNode *temp; //
/**
while(pre->next!=NULL){ // tail
pre=pre->next;
}
pre=p;
*/
while(head->next!=tail){ //
cur=head->next;
pre=head;
while(cur->next != tail ){
if(cur->data > cur->next->data){
temp=cur->next; //
cur->next=temp->next; //
temp->next=cur; //
pre->next=temp; //
pre=temp;
flag=1; // pre cur
}else{
pre=pre->next;
cur=cur->next;
}
}
if(flag==0) // flag
return;
tail=cur; // ;
}
}