第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于C++新建新鏈表,對(duì)已有鏈表進(jìn)行排序,連接翻譯都沒錯(cuò),可是運(yùn)行卻有問題?為什么

關(guān)于C++新建新鏈表,對(duì)已有鏈表進(jìn)行排序,連接翻譯都沒錯(cuò),可是運(yùn)行卻有問題?為什么

慕絲7291255 2022-04-22 15:15:01
請(qǐng)高手幫幫忙!謝謝了啊#include<iostream.h>struct student{ int num; //學(xué)號(hào)int score;student *next;};student *creat( ) //創(chuàng)建鏈表{ student *head = NULL, *p1, *p2;p1 = new student;cin >> p1->num >> p1->score ;head = p1;while( p1 -> num != 0 ){ p2 = p1;p1 = new student;cin >> p1->num >> p1->score ;p2 -> next = p1;}p2 -> next = NULL;return ( head );}void print ( student *head ){ student *p;p = head;if ( head != NULL )do{ cout << p->num <<' '<< p->score<< endl;p = p->next; //后移一個(gè)結(jié)點(diǎn)} while ( p!=NULL );else cout<<"head is NULL !";}student *insert( student *head, student *stud)//插入鏈表{ student *p0,*p1,*p2;p1= head; p0 = stud;if ( head == NULL ) //空鏈表處理,插入頭結(jié)點(diǎn){ head = p0; p0 -> next = NULL; }elsewhile( ( p0 -> num > p1 -> num) && (p1->next!= NULL ) ){ p2 = p1; p1 = p1 -> next; } //查找插入位置if ( p0 -> num <= p1 -> num )if ( head == p1 ) { head = p0, p0 -> next = p1;}else { p2 -> next = p0; p0 -> next = p1; }else{ p1 -> next = p0; p0 -> next = NULL; }return ( head );}student *creat2( student *head, student *head2) //重建新鏈表,按照num排序{ student *stu,*p1,*p2;p1=head;head2=NULL;do{ stu=new student;(*stu).num=(*p1).num,(*stu).score=(*p1).score;insert( head2, stu);p2 = p1;p1 = p1 -> next;}while(p1!=NULL);return head2;}void main(){ student *head,*head2;head=creat();print(head);head=creat2(head,head2);print(head2);}
查看完整描述

3 回答

?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊

這個(gè)改過了,保證好用。
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
Person(int,string);
int No;
string name;
Person *next; /*指向下一個(gè)元素的指針*/
};
Person::Person(int inputNumber,string inputName) /*構(gòu)造函數(shù)*/
{
next=NULL;
No=inputNumber;
name=inputName;
}
void create(Person **phead,Person **ptail,int inputNumber,string inputName)
/*如果phead指針不為空,說明鏈表已存在,退出
如果為空,則創(chuàng)建第一個(gè)元素,
將表首表尾指針同時(shí)指向該元素
*/
{
if((*phead)!=NULL)
{
cout<<"鏈表已存在,無法重新建立,退出"<<endl;
return;
}
else
{
(*phead)=new Person(inputNumber,inputName);
(*ptail)=(*phead);
cout<<"表創(chuàng)建成功,請(qǐng)繼續(xù)輸入!"<<endl;
}
}
void add(Person **ptail,int inputNumber,string inputName) /*向鏈表尾添加元素,并將表尾指針指向該元素*/
{
(*ptail)->next=new Person(inputNumber,inputName);
(*ptail)=(*ptail)->next;
}
void display(Person **phead) /*由首元素開始逐個(gè)元素顯示,直到尾元素*/
{
while((*phead)!=NULL)
{
cout<<"No:"<<(*phead)->No<<" "<<"Name:"<<(*phead)->name<<endl;
(*phead)=(*phead)->next;
}
}
int main()
{
Person *phead=NULL;
Person *ptail=NULL;
int inputNumber;
string inputName;
cout<<"請(qǐng)輸入第一個(gè)人的編號(hào)及姓名:"<<endl;
cin>>inputNumber>>inputName;
create(&phead,&ptail,inputNumber,inputName);
bool flag=true;
while(flag)
{
cin>>inputNumber;
if(inputNumber==0)
{
flag=false;
cout<<"輸入為0,終止輸入"<<endl;
}
else
{
cin>>inputName;
add(&ptail,inputNumber,inputName);
}
}
display(&phead);
cout<<"按任意數(shù)字鍵退出..."<<endl;
cin>>inputName;
return 0;
}



查看完整回答
反對(duì) 回復(fù) 2022-04-24
?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊

如果我沒有看錯(cuò)的話,你應(yīng)該是尾巴少掉了一點(diǎn)。
我用的是win-tc,就沒有對(duì)你的程序調(diào)試。
我看了下,可能是下面這段程序出了問題
while( p1 -> num != 0 )
{ p2 = p1;
p1 = new student;
cin >> p1->num >> p1->score ;
p2 -> next = p1;
}
p2 -> next = NULL;
return ( head );
}
或許,你可以將p2 -> next = NULL;寫成p1 -> next = NULL;

 


查看完整回答
反對(duì) 回復(fù) 2022-04-24
?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊

1 ,head=creat2(head,head2);
此處的head 2 沒有賦值 head2 = nullptr;
2 在create2里面
(*stu).num=(*p1).num,(*stu).score=(*p1).score;
insert( head2, stu);
p2 = p1;
此處的head2 = null,
而在insert() 里面
p1=head;也就是說p1 = null
head2=NULL;
在下去 , 你又 if ( p0 -> num <= p1 -> num )
p1 本來= null, 何來的num.



查看完整回答
反對(duì) 回復(fù) 2022-04-24
  • 3 回答
  • 0 關(guān)注
  • 202 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)