输入10个整数到一个链表中,查找并输出其中的最大数及结点序号

2024-11-22 22:51:05
推荐回答(1个)
回答1:

我把你的程序改成了链表的方式,希望能帮到你

#include
using namespace std;
struct TNODE{
int num; //数据域 
struct TNODE *next;//指针域,存储下一节点的地址 
};//定义链表节点结构 
int main()
{
    int x=0,y;//x为节点的值,y为节点序号 
    int i;
struct TNODE *node,*tmpnode,*head;
//创建链表 
node=new(struct TNODE);//分配内存 
head=node;//定义链表的头指针head,head始终指向链表的第一个节点 
    cout<<"输入十个整数:";
    cin>>node->num;//初始化第一个节点 
    node->next=NULL;
    for(i=2;i<=10;i++)
    {
     tmpnode=new(struct TNODE);//创建新节点
cin>>tmpnode->num;//将输入的数据存储在新节点的数据域
tmpnode->next=NULL;//新节点的指针域被初始化为0 
node->next=tmpnode;//将新节点链接在链表的最后一个节点后 
node=tmpnode;//将指向链表最后一个节点的指针向后移动一个节点 
    }
    //查找最大数及对应的节点下标
node=head;//从第一个节点开始遍历整个链表
x=node->num;//将第一个节点的数据赋给x 
y=1; //初始化最大节点下标值 
    for(i=2;i<=10;i++)
    {
     node=node->next;
     if(xnum)
     {
     x=node->num;
     y=i;
    }
    }
cout<<"链表的最大数为:"< return 0; 
}
上述程序已调试过可运行,若觉得好,望采纳!