实验三:链表的建立


一、实验目的

1 会定义单链表的结点类型。

2 会对单链表的一些基本操作和具体的函数定义。

3 了解和掌握单链表的类定义以及成员函数的定义与调用格式。

二、实验内容

该程序实现了链表的建立和输出。

三、实验步骤

1、启动VC++6.0

2、输入程序

(1)link.h

typedef int ElemType;

 typedef struct LNode

 {

   ElemType data;

   LNode *next;

 }*LinkList;

 

 void CreateList(LinkList &L,int n) ;

 void CreateList2(LinkList &L,int n);

 void printList(LinkList L);

 

(2)linkc.cpp

#include<stdio.h>

 #include<stdlib.h>

 #include "link.h"

 

void CreateList(LinkList &L,int n) // 算法2.11

 { // 逆位序(插在表头)输入n个元素的值,建立带表头结构的单链线性表L

    int i;

    LinkList p;

    printf("请输入%d个数据\n",n);

    printf("按逆位序:\n");

    L=(LinkList)malloc(sizeof(LNode));

    L->next=NULL;

   for(i=n;i>0;--i){

  p=(LinkList)malloc(sizeof(LNode));

  scanf("%d",&p->data);

  p->next=L->next;

  L->next=p;

  }

 }

 

void CreateList2(LinkList &L,int n)

 { // 正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表

   int i;

   LinkList p,q;

   L=(LinkList)malloc(sizeof(LNode)); // 生成头结点

   L->next=NULL;

   q=L;

   printf("请输入%d个数据\n",n);

   for(i=1;i<=n;i++)

   {

     p=(LinkList)malloc(sizeof(LNode));

     scanf("%d",&p->data);

     q->next=p;

     q=q->next;

   }

   p->next=NULL;

 }


void printList(LinkList L)

{

 

LinkList p;

for(p=L->next;p!= NULL;p=p->next)

printf("%d ",p->data);

 

(3)linkmain.cpp

#include<stdio.h>

#include "link.h"


 void main()

 {

 int n=10;

LinkList La,Lb,Lc;

 

//CreateList2(La,n); // 正位序输入n个元素的值

//printf("La="); // 输出链表La的内容

 

//printList(La);

//printf("\n");

CreateList(Lb,n); // 逆位序输入n个元素的值

printf("Lb="); // 输出链表Lb的内容

printList(Lb);

 }

3运行程序、查错。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值