顺序表的基本运算(1)

/*  
* Copyright (c) 2015, 烟台大学计算机与控制工程学院  
* All rights reserved.  
* 文件名称:cpp1.cpp 
* 作者:巩凯强  
* 完成日期:2015年9月14日  
* 版本号:v6.0  
*  
* 问题描述:"建立线性表"的算法CreateList,以及查看建表结果的算法DispList,
* 输入描述:无   
* 程序输出:线性表的结果  
*/ 

#include <stdio.h>
#include <malloc.h>
#define MaxSize 50    //Maxsize将用于后面定义存储空间的大小
typedef int ElemType;  //ElemType在不同场合可以根据问题的需要确定,在此取简单的int
typedef struct
{
    ElemType data[MaxSize];  //利用了前面MaxSize和ElemType的定义
    int length;
} SqList;

//自定义函数声明部分
void CreateList(SqList *&L, ElemType a[], int n);//用数组创建线性表
void DispList(SqList *L);//输出线性表DispList(L)
bool ListEmpty(SqList *L);//判定是否为空表ListEmpty(L)

//实现测试函数
int main()
{
    SqList *sq;
    ElemType x[6]= {5,8,7,2,4,9};
    CreateList(sq, x, 6);
    DispList(sq);
    return 0;
}

//下面实现要测试的各个自定义函数
//用数组创建线性表
void CreateList(SqList *&L, ElemType a[], int n)
{
    int i;
    L=(SqList *)malloc(sizeof(SqList));
    for (i=0; i<n; i++)
        L->data[i]=a[i];
    L->length=n;
}

//输出线性表DispList(L)
void DispList(SqList *L)
{
    int i;
    if (ListEmpty(L))
        return;
    for (i=0; i<L->length; i++)
        printf("%d ",L->data[i]);
    printf("\n");
}

//判定是否为空表ListEmpty(L)
bool ListEmpty(SqList *L)
{
    return(L->length==0);
}

运行结果:

顺序表的基本运算(1)_第1张图片

知识点总结:

本程序主要是为了熟悉“建立线性表”所用的算法CreateList以及要查看建表的结果所用“输出线性表”的算法DispList,同时在输出线性表时,也要判断线性表是否为空。

学习心得:

通过本程序,了解了顺序表的基本运算,为以后的学习打下基础。

你可能感兴趣的:(排序,函数,计算机,C语言)