首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • 顺序表基本算法实验报告

    时间:2020-10-31 11:34:43 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:算法 顺序 实验

     C 语言程序设计实践

     综合题目:

      顺序表基本算法

      班

     级:

     姓

     名:

     同组人员:

      提交日期:

     一、程序功能:

     1、建立一个顺序表。2、对建立好的顺序表进行一些基本的操作,如:

     a.顺序表的类型定义。

     b.求顺序表长操作。

     c.取顺序表元素操作。

     d.按值查找操作。

     e.显示元素操作。

     f.插入操作。

     g.删除操作。

     h.显示元素操作。

      二、算法设计思想:

     用一组存储单元来存放线性表中的数据元素,把顺序表中的所有元素按照其逻辑结构顺序依次储存到从计算机储存器中指定储存位置开始的一块连续的储存空间。线性表中的第一个位置储存在数组的起始位置(下标为 0)在定义一个顺序表时,除了定义一个数组来储存线性表中的所有元素,还需要定义一个整型变量来储存线性表的实际长度。然后通过对数组元素中的元素进行操作,对顺序表进行基本算法。

     三、 算法运行结果

     1、显示整个功能

      2、设置顺序表的长度:

      3、求出并返回顺序表的长度:

     4、在顺序表中取出某个位置的元素并返回其值:

      5、显示顺序表中的元素:

     6、在顺序表的某个位置插入元素:

      7、删除顺序表中的某个元素

      8、输出顺序表

      9、将顺序表逆序输出

     10、退出对顺序表的操作:

      四、收获及体会 通过对顺序表的几个基本运算的调用,实现顺序表的几个基本算法。同时也懂得如何定义顺序表,还有顺序表的用法。

      五、算法源代码 #include<stdio.h> #include<stdlib.h> #define

     MaxSize

      50

      typedef

      int

     ElemType ; typedef

      struct

      {

      ElemType data[MaxSize];

      int length;

      }SqList;

     //顺序表类型

     void InitList(SqList *& L); //初始化顺序表

     void CreateList(SqList*& L,ElemType a[],ElemType n); //建立顺序表

     bool ListEmpty(SqList *L);

     //判断顺序表是否为空表

     int ListLength(SqList *L);

     //求顺序表长度

     void DispList(SqList *L);

      //输出顺序表

     bool GetElem(SqList *L,ElemType i,ElemType &e);

      //求顺序表中某个元素值

     int LocateElem(SqList *L,ElemType e);

     //按照元素值查找

     bool ListInsert(SqList *& L,ElemType i,ElemType e);

     //插入元素 e

      bool ListDelete(SqList *& L,int i,ElemType &e);

     //删除元素

     void DestroyList(SqList *&L);

     //销毁顺序表

      void InitList(SqList *& L)

     //初始化顺序表

     {

     L=(SqList*)malloc(sizeof(SqList));

     L->length=0; } void CreateList(SqList*& L,ElemType a[],ElemType n)

      //建立顺序表

      2 {

     int i;

     L=(SqList *)malloc(sizeof(SqList));

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

     L->data[i]=a[i];

     L->length=n; } bool ListEmpty(SqList *L)

      //判断顺序表是否为空表

     {

     return(L->length==0); } int ListLength(SqList *L)

      //求顺序表长度

     {

     return(L->length); } void DispList(SqList *L)

      //输出顺序表

      {

     int i;

     for(i=0;i<L->length;i++)

      printf("%3d",L->data[i]);

      printf("\n"); }

     bool GetElem(SqList *L,ElemType i,ElemType &e)

      //求顺序表中某个元素值

     {

     if(i<1||i>L->length)

     return false;

     e=L->data[i-1];

     return true; }

     int LocateElem(SqList *L,ElemType e)

     //按照元素值查找

      {

     int i=0;

     while(i<L->length&&L->data[i]!=e)

     i++;

     if(i>L->length)

     return 0;

     else

      return i+1; } bool ListInsert(SqList *& L,ElemType i,ElemType e)

     //插入元素 e

      {

     int j;

     if(i<1||i>L->length+1)

     return false;

     i--;

     for(j=L->length;j>i;j--)

     L->data[j]=L->data[j-1];

     L->data[i]=e;

     L->length++;

     return true;

     } bool ListDelete(SqList *& L,int i,ElemType &e)

     //删除元素

      {

     int j;

     L = NULL;

     if(i<1||i>L->length)

     return false;

     i--;

     e=L->data[i];

     for(j=i;j<L->length-1;j++)

     L->data[j]=L->data[j+1];

     L->length--;

     return true; } void DestroyList(SqList *&L)

      //销毁顺序表

     {

     free(L);

     L = NULL; }

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识