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

    时间:2020-08-24 11:53:55 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:顺序 查找 实验

      题目:顺序表的实现

      一、实验题目

      顺序表的实现

     二、实验目的

     ⑴ ⑴ 掌握线性表的顺序存储结构; ⑵ ⑵ 验证顺序表及其基本操作的实现; ⑶ ⑶ 理解算法与程序的关系,能够将顺序表算法转换为对应的程序。

     三、实验内容与实现

     ⑴ ⑴ 建立含有若干个元素的顺序表; ⑵ ⑵ 对已建立的顺序表实现插入、删除、查找等基本操作 。

     。

     实验实现

     #include<stdio.h>

     #include<memory.h>

     int a[10000];

     int arrlong()

     { {

     int j;

     for(j=0;j<12;j++)

     if(a[j]==0)

     break;

     return j;

      } }

     int Insect(int n,int s)

     //// 插入

     { {

     int j;

     for(j=0;j<10000;j++)

     if(a[j]==0)

     break;

      printf(" 要操作的元素\ \ n");

     for(int i=0;i<j;i++)

     printf("%d ",a[i]);

     printf("\ \ n");

     for(int i=j;i>n n- - 1;i --) )

     a[i+1]=a[i];

     a[n]=s;

     for(int k=0;k<j+1;k++)

     printf("%d ",a[k]);

     printf("\ \ n");

     } }

     int Search(int p)

     // 查找

     { {

     int j,h;

     for(j=0;j<12;j++)

     { {

     if(a[j]==0)

     break;

      } }

     for(h=0;h<j;h++)

     { {

     if(a[h]==p)

     { {

     printf(" 查找到的数在第d %d 位\ \ n",h+1);

     break;

     } }

     } }

     if(h==j)

     printf(" 查无此数\ \ n");

     } }

     int Delate(int g,int q)

     // 删除

     { {

     int j;

     g=g- - 1;

     for(int j=g;j<12;j++)

     a[j]=a[j+1];

     for(q =0;q<12;q++)

     { {

     if(a[q]==0)

     break;

     } }

     for(int i=0;i<q;i++)

     printf("%d ",a[i]);

      printf("\ \ n");

     }

      int main()

     {

     int y,c;

     printf("

     菜单\ \ n");

     printf(" -------------------------------------------------\ \ n");

     printf("0

     建表\ \ n1

     插入\ \ n2

      查找\ \ n3

      删除\ \ n4

     退出\ \ n");

     printf(" -------------------------------------------------\ \ n");

     while(scanf("%d ",&y)!=EOF)

     { {

     int n,x,s;

     if(y==0)

     { {

     memset(a,0,sizeof(a));

     printf(" 请输入元素的个数: :\ \ n");

     scanf("%d",&c);

     printf(" 请输入数据: :\ \ n");

     for(int i = 0;i < c;i++)

     scanf("%d",&a[i]);

     } }

     else if(y==1)

     { {

     int L;

     printf(" 请输入插入的第几位\ \ n");

      scanf("%d",&n);// 输入

     L=arrlong();

     if(n<=L)

     { {

     printf(" 请输入插入的数字\ \ n");

     scanf("%d",&s);

     Insect(n,s);

      } }

     else

     { {

     printf(" 输入有误\ \ n");

     continue;

     } }

     }

      else if(y==2)

     { {

     int p;

     printf(" 请输入要查找的数字\ \ n");

      scanf("%d ",&p);

     Search(p);

     }

      else if(y==3)

     { {

     int g,q,L;

     printf(" 请输入要删除数的位置\ \ n");

     scanf("%d",&g);

     L=arrlong();

     if(L>=g)

     { {

     Delate(g,q);

     } }

     else

     { {

     printf(" 输入有误\ \ n");

     printf("

     菜单\ \ n");

     printf (" -------------------------------------------------\ \ n");

     printf("0

     建表\ \ n1

     插入\ \ n2

      查找\ \ n3

      删除\ \ n4

     退出\ \ n");

     printf(" -------------------------------------------------\ \ n");

     continue;

     } }

     } }

     else if(y==4)

     break;

      else

     { {

     printf (" 输入有误\ \ n");

     printf("

     菜单\ \ n");

     printf(" -------------------------------------------------\ \ n");

     printf("0

     建表\ \ n1

     插入\ \ n2

      查 找\ \ n3

      删除\ \ n4

     退出\ \ n");

     printf(" -------------------------------------------------\ \ n");

     continue;

      } }

     printf("

     菜单\ \ n");

     printf(" -------------------------------------------------\ \ n");

     printf("0

     建表\ \ n1

     插入\ \ n2

      找 查 找 \ \ n3

      删除\ \ n4

     退出\ \ n");

     printf(" -------------------------------------------------\ \ n");

     }

     } }

     建立顺序表:

     插入操作:

     查找操作:

     删除操作:

     插入数据超出顺序表范围 :

     查找不到输入数据:

     删除数据超出顺序表范围:

      四、实验心得

     1.掌握了为数组赋值的方法,深刻理解了数组的含义 2.掌握了为数组排序的方法。

     3.正确理解 for 循环与数组的共同使用方式 4.会灵活的使用函数

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