【データ構造】(シングルチェーン表)シングルチェーン表の泡並べ替え


計算方法の思想:泡を噴き出して並べ替える核心の思想はメモリの循環のために毎回泡を噴き出して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;         //                        ;             
	}
 }