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;
}
}