연결 리스트의 길이.
2708 단어 beginnersclinkedlist
주어진 연결 목록에 대해 연결 목록의 길이를 찾는 함수를 작성해야 합니다.
예 1:
입력 : 연결 리스트 : 4 6 8 2
출력 : 목록 길이 : 4
예 2:
입력 : 연결 리스트 : 1 3 1 2 1
출력 : 목록 길이 : 5
단계:
temp
를 연결 목록의 head
노드로 선언하고 초기화합니다. count
를 zero(0)
로 초기화합니다. temp
를 사용하여 연결된 목록을 순회하고 count
가 one
가 될 때까지 변수 temp
를 NULL
만큼 증가시킵니다. 즉,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);
}
Reference
이 문제에 관하여(연결 리스트의 길이.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dhanashreerugi/length-of-linked-list-ob8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)