6 - 1 싱글 체인 시트 역전 (절 빅 데이터 구조 PTA)
12215 단어 데이터 구조 - 링크
함수 인터페이스 정의: List Reverse (List L);
그 중에서 List 구 조 는 다음 과 같다.
typedef struct Node PtrToNode; struct Node {Element Type Data; / 노드 데이터 저장 / PtrToNode Next; / 다음 노드 를 가리 키 는 지침 /};typedef PtrToNode List; / 단일 링크 형식 정의 * /
L 은 주어진 싱글 체인 시트 이 며, 함수 Reverse 는 역 전 된 링크 를 되 돌려 줍 니 다.
심판 테스트 프로그램 샘플: \ # include \ # include
typedef int ElementType; typedef struct Node *PtrToNode; struct Node { ElementType Data; PtrToNode Next; }; typedef PtrToNode List;
List Read(); /* 자세 한 내용 은 표 / void Print (List L) 가 아 닙 니 다. /자세 한 내용 은 여기에 표시 되 지 않 습 니 다 * /
List Reverse( List L );
int main() { List L1, L2; L1 = Read(); L2 = Reverse(L1); Print(L1); Print(L2); return 0; }
/ * 당신 의 코드 는 여기에 박 힐 것 입 니 다 * /
입력 샘플: 5 1 3 4 5 2
출력 샘플: 1, 2, 5, 4, 3, 1
이 문 제 는 싱글 체인 시 계 를 직접 역 설정 하면 됩 니 다. 체인 시 계 를 새로 만 들 지 않 아 도 됩 니 다. 그러나 이 PTA 문 제 는 머리 노드 가 없 는 싱글 체인 시 계 를 사용 하기 때문에 여러 번 틀 리 고 답답 합 니 다.이 문제 에 대응 하 는 역 치 코드:
PtrToNode Reverse(PtrToNode L)
{
PtrToNode p1=NULL,p2=NULL;
while(L!=NULL)
{
p2=L->Next;
L->Next=p1;
p1=L;
L=p2;
}
return p1;
}
실제 적 으로 사용 하 는 방법 은 지침 의 방향 을 바 꾸 는 것 이다.
두 결점 이 있 는 전체 코드 를 보 여 줍 니 다. (본 문제 에 적용 되 지 않 음) (원래 의 단일 체인 표를 바 꾸 었 습 니 다)
#include
#include
typedef struct Node *PtrToNode;
struct Node
{
int data;
PtrToNode Next;
};
PtrToNode read()
{
int n;
scanf("%d",&n);
PtrToNode L,head;
L=(PtrToNode)malloc(sizeof(struct Node));
L->Next=NULL;
head=L;
int i;
for(i=1;i<=n;i++)
{
PtrToNode e=(PtrToNode)malloc(sizeof(struct Node));
scanf("%d",&e->data);
e->Next=NULL;
L->Next=e;
L=L->Next;
}
return head;
}
void Print(PtrToNode L)
{
PtrToNode p;
p=L->Next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->Next;
}
}
void Printt(PtrToNode L)
{
PtrToNode p=L;
while(p!=NULL)
{
printf("%d",p->data);
p=p->Next;
}
return ;
}
PtrToNode Reverse(PtrToNode L)
{
PtrToNode p,q;
p=L->Next;
L->Next=NULL;
while(p!=NULL)
{
q=p->Next;// q
p->Next=L->Next;//
L->Next=p;// , p ( )
p=q;
}
return L;
}
int main()
{
PtrToNode L1,L2;
L1=read();
L2=Reverse(L1);
Print(L2);
return 0;
}
포인터 p 가 어느 위치 로 이동 할 때 p - > L 이 가리 키 는 다음 (사실 L 의 Next 가 가리 키 는 것 은 p 앞 에 있 는 것) 을 가리 키 면 방향 이 바 뀝 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2118] 데이터 구조 실험의 링크 3: 링크 의 역 치데이터 구조 실험의 링크 3: 링크 의 역 치 Time Limit: 1000ms Memory limit: 65536K 의문 이 있 습 니까?여기 눌 러 주세요 ^ ^ 제목 설명 여러 개의 정 수 를 입력 하고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.