Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

연결 목록의 마지막에서 N 번째 노드를 인쇄하는 Python 프로그램

<시간/>

연결 리스트의 끝에서 특정 노드를 출력해야 하는 경우 'list_length' 메소드와 'return_from_end' 메소드를 정의한다. 'list_length'는 연결 리스트의 길이를 반환합니다.

'return_from_end' 메소드는 연결 리스트의 끝에서 n번째 요소를 반환하는 데 사용됩니다.

아래는 동일한 데모입니다 -

예시

class Node:def __init__(self, data):self.data =data self.next =Noneclass LinkedList_structure:def __init__(self):self.head =None self.last_node =None def add_vals(self, data):self.last_node가 None인 경우:self.head =Node(data) self.last_node =self.head else:self.last_node.next =Node(data) self.last_node =self.last_node.nextdef list_length(my_list):my_len =0 curr =my_list.head 동안 curr:curr =curr.next my_len =my_len + 1 return my_lendef return_from_end(my_list, n):l =list_length(my_list) curr =my_list.head for i in range(l - n):curr =curr.next return curr.datamy_instance =LinkedList_structure()my_list =input('연결된 목록의 요소를 입력하세요..').split() for elem in my_list:my_instance.add_vals(int(elem))n =int( input('n에 대한 값을 입력하십시오. '))my_result =return_from_end(my_instance, n)print('끝에서 n번째 요소는 다음과 같습니다. {}'.format(my_result)) 

출력

연결리스트의 요소를 입력하세요..45 31 20 87 4n의 값을 입력하세요.. 2끝에서 n번째 요소는 87입니다.

설명

  • 'Node' 클래스가 생성됩니다.

  • 필수 속성이 있는 또 다른 'LinkedList_structure' 클래스가 생성됩니다.

  • 첫 번째 요소, 즉 'head' 및 'last_node'를 'None'으로 초기화하는 데 사용되는 'init' 기능이 있습니다.

  • 스택에 값을 추가하는 데 도움이 되는 'add_vals'라는 메서드가 정의되어 있습니다.

  • 연결 리스트의 길이를 결정하고 출력으로 반환하는 'list_length'라는 메서드가 정의되어 있습니다.

  • 'return_from_end'라는 또 다른 메서드가 정의되어 있어 연결 목록의 끝에서 'n' 값을 반환하는 데 도움이 됩니다.

  • LinkedList_structure'의 인스턴스가 생성됩니다.

  • 연결 목록에 요소가 추가됩니다.

  • 요소가 콘솔에 표시됩니다.

  • 이 연결 리스트에서 'return_from_end' 메소드가 호출됩니다.

  • 출력은 콘솔에 표시됩니다.