初始化一个单链表(带有头结点),然后输入具体数据(要求用尾插法实现),最后打印该打印表。


#include "stdio.h"
#include "stdlib.h"

typedef int ElemType;/* ElemType类型根据实际情况而定,这里假设为int */ 
 
typedef struct Node
{
    ElemType data;
    struct Node *next;
}LNode,*linkList;
void initList(linkList &L);
void inputList(linkList &L);
void printList(linkList L);

int main(void)
{
linkList head;
initList(head);
inputList(head);
printList(head);
return 0;
}

void initList(linkList &L)
{
    L=new LNode;
    L->next=NULL;
}
输入
第1行输入一个整数n,表示单链表中有n个结点
第2行输入n个整数(数据之间用空格隔开),表示单链表中存储的具体数据
输出
第3行输出单链表中的数据,数据之间用一个空格隔开
样例输入 Copy
4
1 2 3 4
样例输出 Copy
1 2 3 4 
void inputList(linkList &L)
{
int n;
linkList p,r=L;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
   
}
}

void printList(linkList L)
{
    linkList p=L->next;
    while(p!=NULL)
    {
        printf("%d ",p->data);
p=p->next;    
    }
    printf("\n");
}

img

#include "stdio.h"
#include "stdlib.h"

typedef int ElemType;/* ElemType类型根据实际情况而定,这里假设为int */

typedef struct Node
{
    ElemType data;
    struct Node *next;
} LNode,*linkList;
void initList(linkList &L);
void inputList(linkList &L);
void printList(linkList L);

int main()
{
    linkList head;
    initList(head);
    inputList(head);
    printList(head);
    return 0;
}

void initList(linkList &L)
{
    L=new LNode;
    L->next=NULL;
}
/*输入
第1行输入一个整数n,表示单链表中有n个结点
第2行输入n个整数(数据之间用空格隔开),表示单链表中存储的具体数据
输出
第3行输出单链表中的数据,数据之间用一个空格隔开
样例输入 Copy
4
1 2 3 4
样例输出 Copy
1 2 3 4 */
void inputList(linkList &L)
{
    int n;
    linkList p,r=L;
    scanf("%d",&n);
    int tem; 
    for(int i=0; i<n; i++)
    {
        Node *newnode = (Node*)malloc(sizeof(Node));
        newnode -> next = NULL;
        scanf("%d",&newnode->data);
        r->next=newnode;
        r=newnode;
    }
}

void printList(linkList L)
{
    linkList p=L->next;
    while(p!=NULL)
    {
        printf("%d ",p->data);
        p=p->next;
    }
    printf("\n");
}