首页 > 代码库 > 单链表操作(数据结构实验一)

单链表操作(数据结构实验一)

          实验内容

1 初始化一个带表头结点的单链表。
2 从表头不断插入结点建立一个带表头结点的单链表。设表中元素的类型为整型,元素值从键盘输入。
3 从表尾不断插入结点建立一个带表头结点的单链表。设表中元素的类型为整型,元素值从键盘输入。
4 打印一个带表头结点的单链表。
5 清空一个带表头结点的单链表。


代码:(只是把各个函数写好,并给出了调用数据,其他根据实验要求改就行了)

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define M 100
typedef int Etype; //定义单链表结点值的类型为整型

typedef struct Node
{
    Etype data;              //单链表中的数据域
    struct Node *link;          //单链表的指针域
}Node;
typedef Node *List;      //定义单链表

List BuildList1();
List BuildList2();
void PrintList(List first);
void clear(List *first);
//头插法建立链表
List BuildList1()
{
    Node *L;
    Etype x,n;
    L = (Node *)malloc(sizeof(Node));   //申请头结点空间
    L->link = NULL;                      //初始化一个空链表
    printf("请输入元素个数:\n");
    scanf("%d",&n);
   printf("请输入元素:\n");                  //x为链表数据域中的数据
    for(int i=0;i<n;i++)
    {
        scanf("%d",&x);
        Node *p;
        p = (Node *)malloc(sizeof(Node));   //申请新的结点
        p->data = http://www.mamicode.com/x;                     //结点数据域赋值>

单链表操作(数据结构实验一)