Traversing a singly linked list with a dummy header

发布于:2024-04-28 ⋅ 阅读:(21) ⋅ 点赞:(0)

In this problem you will Implement a function to traverse a singly linked list with a dummy header and output the data field of each node.

Structure description:

The node structure is shown below:

typedef struct ListNode {
    int data;
    struct ListNode *next;
} node;

typedef node* position;
typedef position List;

Function definition:

void traversal(List L);

The parameter L is a pointer to the dummy header. The function outputs the data field of each node as it traverses the singly linked list.

Test program example:

#include <stdio.h>
#include <stdlib.h>

typedef struct ListNode {
    int data;
    struct ListNode *next;
}node;

typedef node* position;
typedef position List;

void traversal(List L);

// The questioner has implemented the createList function.
// This function reads a series of positive integers separated by spaces
// and inserts them into a linked list using the head insertion method.
// Entering -1 indicates the end of input.
// creatgeList函数由题目提供,不需要在本题的答案中实现
List createList();

int main(void)
{
    List L = createList();
    traversal(L);
    return 0;
}

/* Please write the answer here */

Input Specification:

 

A series of positive integers separated by spaces. Entering -1 indicates the end of input.

Output Specification:

Output the data field of each node in the singly linked list. After each number, output a space.(每个整数后输出1个空格)

Sample Input :

9 5 7 2 -1

Sample Output :

2 7 5 9 

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C程序如下:

void traversal(List L){ //遍历链表的函数,参数L是指向链表头节点的指针  
    if(L->next ==NULL){//检查该链表是否为空
        return;//如果为空则返回
    }
    L = L->next;//L指向该链表的第一个数据域
    while(L!=NULL){//遍历整个单链表
        printf("%d ", L->data);
        L= L->next;
    }
}

网站公告

今日签到

点亮在社区的每一天
去签到