Advertisement

lesson17-2 数据结构与算法 P37Q55

阅读量:

题目描述:

假设存在一个由正整数组成的无序(向后)单链表,设计并实现以下功能的算法:

(1)定位最小值节点,并输出该节点对应的数值。

(2)若该数值为奇数,则将其与下一个节点中的数值进行交换。

(3)若该数值为偶数,则删除其后继节点。

代码:

复制代码
 void swapOrDelete_(LNode *L){//函数分解思想

    
 	LNode* min=findMinNode(L);//不知道最小值data是哪个节点	=> 我去拿这个节点=>函数要返回一个结点的指针
    
 	if(min==NULL){
    
 		cout<<"链表为空"<<endl;
    
 		return;
    
 	}
    
 	if(min->next==NULL){
    
 		cout<<"最小值结点为末尾结点,无后继"<<endl;
    
 		return;
    
 	}
    
 	if(min->data%2!=0){
    
 		swap(min->data,min->next->data);
    
 	}
    
 	else{
    
 		LNode *q=min->next;
    
 		min->next=q->next;
    
 		free(q);	
    
 	}
    
 }
    

全部评论 (0)

还没有任何评论哟~