데이터 구조 조세 프 링 실습 보고서 소스 코드
2298 단어 데이터 구조
#include
int n,m;
struct LinkList
{
int bianhao;
int mima;
struct LinkList* next;
}LinkHuan[50];
void duru()
{
printf(" :
");
for(int i=1;i<=n;i++){
scanf("%d",&LinkHuan[i].mima);
LinkHuan[i].bianhao=i;
if(i==n) LinkHuan[i].next=&LinkHuan[1];
else LinkHuan[i].next=&LinkHuan[i+1];
}
}
void shuchu()
{
printf(" :
");
LinkList* p=&LinkHuan[1];
while(p->next!=p){
for(int i=1;inext;
printf("%d
",p->next->bianhao);
m=p->next->mima;
p->next=p->next->next;
if(m!=1)
p=p->next;
}
printf("%d
",p->bianhao);
}
int main()
{
printf(" n m :
");
scanf("%d%d",&n,&m);
duru();
shuchu();
return 0;
}
/*
7 20
3 1 7 2 4 8 4
*/
이것 은 먼저 m - 2 회 순환 하고 m 의 값 순환 을 보 는 m - 1 회 입 니 다.
m 가 1 인 경우 에 반드시 주의해 야 한다.
#include
#include
using namespace std;
struct LinkList
{
int data; //
int password;//
LinkList *next;//
};
int m,n,i,j;
LinkList *p,*q,*first;
void Printf()
{
cout<>m;
cout<>n;
}
int ShuruMima()
{
for(i=1;i<=n;i++)
{
if(i==1)
{
first=p=(LinkList*)malloc(sizeof(LinkList));
if(p==0)
return 0;
}
else
{
q=(LinkList*)malloc(sizeof(LinkList));
if(q==0)
return 0;
p->next=q;
p=q;
}
cout<>(p->password);
p->data=i;
}
}
void ShuChu()
{
p->next=first; //
p=first;
cout<next);
m=p->password;
cout<data<data=p->next->data;
p->password=p->next->password;
q=p->next;
p->next=p->next->next;
free(q);
}
cout<
이것 은 m - 1 회 순환 한 후에 바로 다음 노드 를 옮 기 는 것 이 상대 적 으로 간단 하 다.
신문 을 써 서 한참 을 했 더 니 시간 도 많이 낭비 하고 힘 들 었 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.