pta: 6 - 1 싱글 체인 시계 역전 (20 점)

빅 뱅 반기 데이터 구조
데이터 구조 실천 임무 2
pta: 싱글 체인 시계 역전
이것 은 초보 소 백 학 데이터 구조 가 겪 은 모든 문제 집 이다.이 문 제 는 하나의 함 수 를 실현 하고 주어진 단일 체인 표를 역전 시 켜 야 한다.함수 인터페이스 정의:
List Reverse( List L );

그 중에서 List 의 구조 정 의 는 다음 과 같다.
typedef struct Node *PtrToNode;
struct Node {
    ElementType 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 문제 풀이
List Reverse( List L )
{
 PtrToNode old_head,new_head,t;
 old_head=L;
 new_head=NULL;
 while(old_head)
 {
  t=old_head->Next;//    t         
  old_head->Next=new_head;/*                 t,      
                          t->next=head; head=t;*/
  new_head=old_head;//          
  old_head=t;//    
 }
 L=new_head;
 return L;
}

좋은 웹페이지 즐겨찾기