연결 리스트의 길이.

2708 단어 beginnersclinkedlist
더 많은 블로그를 보려면 "www.coderlogs.com "을(를) 방문하십시오.

주어진 연결 목록에 대해 연결 목록의 길이를 찾는 함수를 작성해야 합니다.

예 1:

입력 : 연결 리스트 : 4 6 8 2
출력 : 목록 길이 : 4


예 2:

입력 : 연결 리스트 : 1 3 1 2 1
출력 : 목록 길이 : 5


단계:
  • 임시 포인터temp를 연결 목록의 head 노드로 선언하고 초기화합니다.
  • 정수 변수countzero(0)로 초기화합니다.
  • temp를 사용하여 연결된 목록을 순회하고 countone가 될 때까지 변수 tempNULL만큼 증가시킵니다. 즉,

  • while(temp != NULL)
    {
       count++;
       temp = temp->next;
     }
    

  • 목록의 길이를 제공하는 변수count를 반환하거나 인쇄합니다.

  • 주어진 연결 리스트의 길이를 찾는 C 프로그램.

    #include <stdio.h>
    #include <stdlib.h> 
    #include <limits.h>
    
    struct node
    {
        int data;
        struct node * next;
    };
    
    void displayLL(struct node * head)
    {
        struct node * temp;
        temp = head;
        temp=head;
        while(temp!=0)
        {
           printf("%d ",temp->data);
           temp = temp->next;
        }
    }
    
    void length(struct node *head)
    {
        struct node *temp = head;
        int count = 0;
    
        while(temp != NULL)
        {
            count++;
            temp = temp->next;
        }
        printf("\n--------------------------------\n");
        printf("Length of linked list : %d", count);
    }
    int main()
    {
       struct node *head = 0, *newnode, *temp; 
       int n, choice, newdata;
    
    // Create Linked List // 
    
       printf("Enter the number of nodes in the list : ");
       scanf("%d", &n);
    
       if(n == 0)
       {
          printf("--------------------------------\n");
          printf("Linked list cannot be empty");
          exit(0);
        } 
    
     for(int i = 1; i<=n; i++)
     {
       newnode = (struct node *)malloc(sizeof(struct node));
       printf("Enter the data%d : ", i);
       scanf("%d", &newnode->data);
       newnode->next = 0;
       if(head == 0)
         {
            head = temp = newnode;
         } 
       else
         { 
            temp->next = newnode;
            temp = newnode;
          }
      }
       printf("--------------------------------\n");
       printf("Original linked list : ");
       displayLL(head);
       length(head);
    }
    

    좋은 웹페이지 즐겨찾기