1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:① 找出最小值结点,且打印该用C语言编写.1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 10:29:17
![1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:① 找出最小值结点,且打印该用C语言编写.1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的](/uploads/image/z/11521751-23-1.jpg?t=1%E3%80%81+%E8%AE%BE%E6%9C%89%E4%B8%80%E4%B8%AA%E7%94%B1%E6%AD%A3%E6%95%B4%E6%95%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%97%A0%E5%BA%8F%EF%BC%88%E5%90%91%E5%90%8E%EF%BC%89%E5%8D%95%E9%93%BE%E8%A1%A8%2C%E7%BC%96%E5%86%99%E5%AE%8C%E6%88%90%E4%B8%8B%E5%88%97%E5%8A%9F%E8%83%BD%E7%9A%84%E7%AE%97%E6%B3%95%EF%BC%9A%E2%91%A0+%E6%89%BE%E5%87%BA%E6%9C%80%E5%B0%8F%E5%80%BC%E7%BB%93%E7%82%B9%2C%E4%B8%94%E6%89%93%E5%8D%B0%E8%AF%A5%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%BC%96%E5%86%99.1%E3%80%81+%E8%AE%BE%E6%9C%89%E4%B8%80%E4%B8%AA%E7%94%B1%E6%AD%A3%E6%95%B4%E6%95%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%97%A0%E5%BA%8F%EF%BC%88%E5%90%91%E5%90%8E%EF%BC%89%E5%8D%95%E9%93%BE%E8%A1%A8%2C%E7%BC%96%E5%86%99%E5%AE%8C%E6%88%90%E4%B8%8B%E5%88%97%E5%8A%9F%E8%83%BD%E7%9A%84)
1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:① 找出最小值结点,且打印该用C语言编写.1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的
1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:① 找出最小值结点,且打印该
用C语言编写.
1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:
① 找出最小值结点,且打印该数值;
② 若该数值是奇数,则将其与直接后继结点的数值交换;
③ 若该数值是偶数,则将其直接后继结点删除;
需要具体的代码.
1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:① 找出最小值结点,且打印该用C语言编写.1、 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的
ListOp_N(LinkList list){//本算法功能是找出正整数单链表list中的最小值结点;
//并在此结点数值是奇数时,把它与其后继结点交换
//在此结点数值是偶数时,把其直接后继结点删除
q=list;
p=q;
while !q { //第一部分:找出最小值结点p,并打印p结点数值
if p->data>q->data p=q;
q=q->next;}//while
printf("%d",p->data);
if odd(p->data){ //第二部分:如果是奇数则交换,odd()是判奇函数
if !(p->next) {q=list; //重新确定p的位置及其前驱q
while ( q->next!=p ) q=q->next;
r=p->next; //引入临时变量r,用于保存p的后继q->next=r; //修改p的前驱p->next=r->next; //修改p的后继r->next=p; //修改r的后继
}//if
}
else{ //第三部分:如果是偶函数,则删除后继结点
if !(p->next) { r=p->next;
p->next=r->next; //改变p的后继指针
free(r); //删除p的原后继结点}//if
}//if
}// ListOp_N