데이터 구조 - 동적 링크
, 。
// .cpp : 。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class student
{
public:
int num;
student *next;
};
int n;
student *create(void)
{
cout<<" "<<endl;
student *head;
student *p1,*p2;
n=0;
p1=p2=new student;
cin>>p1->num;
head=NULL;
while(p1->num!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=new student;
cin>>p1->num;
}
p2->next=NULL;
cout<<" "<<endl;
return(head);}
void *print (student *head)
{cout<<" "<<endl;
student *p;
p=head;
for(;p!=NULL;)
{cout<<p->num<<endl;
p=p->next;}
return 0;
}
student *research(student *head)//
{cout<<" "<<endl;
student *p;
p=head;
int n;
cout<<" "<<endl;
cin>>n;//
for(;p->num!=n;)
{
p=p->next;
}
cout<<p->num;
return (head);
}
student *del(student *head)
{cout<<" "<<endl;
student *p,*s;
p=head;
int i,n;
cout<<" "<<endl;
cin>>n;
for(i=1;i<n;i++)
{
s=p;
p=p->next;
}
if(i=n-1)
{
if(p==head)
{
head=p->next;
}
else
s->next=p->next;
}
return (head);
}
student *insert(student *head)// ( )
{cout<<" "<<endl;
student *p1,*p2,*s;
p1=head;
p2=p1->next;
s=new student;
cout<<" "<<endl;
cin>>s->num;
int n,i;
cout<<" "<<endl;
cin>>n;
cout<<"q2"<<endl;
for(i=0;i<n;i++)
{
cout<<"q"<<i<<endl;
p1=p1->next;
p2=p2->next;
}
p1->next=s;
s->next=p2;
cout<<head->num;
return (head);
}
student *bianli(student *head)//
{
student *p;
char p1;
p=head;
cout<<" N "<<endl;
cout<<" "<<endl;
for(;p!=NULL;)
{
cin>>p1;
if(p1=='N')
{cout<<" ";
p=p->next;
}
else
{
cout<<" "<<endl;
cin>>p->num;
p=p->next;
}
}
return (head);
}
int main()
{
student *head;
head=create();
print(head);
insert(head);
print(head);
del(head);
print(head);
bianli(head);
print(head);
research(head);
print(head);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.