顺序表——求x个数

今天来学习顺序表了,话不多说直接上代码

#include <stdio.h>
#include <stdlib.h>
/********************************/
/*顺序表的头文件,文件名sequlist.h*/
/********************************/
 #define MAXSIZE 100
 typedef int datatype;
 typedef struct{
   datatype a[MAXSIZE];
   int size;
 }sequence_list;
/**************************************************/
/*  函数功能:顺序表的初始化-置空表            */
/*  函数参数:指向sequence_list型变量的指针变量slt  */
/*  函数返回值:空                                */
/*  文件名:sequlist.c, 函数名:init()                  */
/***************************************************/
 void init(sequence_list *slt)
 {
   slt->size=0;
 }
/***************************************************/
/*  函数功能:在顺序表后部进行插入操作             */
/*  函数参数:指向sequence_list型变量的指针变量slt   */
/*            datatype类型的变量x                  */
/*  函数返回值:空                                 */
/*  文件名:seqlappe.c, 函数名:append()               */
/***************************************************/
 void append(sequence_list *slt,datatype x)
 {
   if(slt->size==MAXSIZE)
     {printf("顺序表是满的!");exit(1);}
   slt->a[slt->size]=x;
   slt->size=slt->size+1;
 }
/***************************************************/
/*  函数功能:打印顺序表的各结点值                 */
/*  函数参数:sequence_list型变量slt                 */
/*  函数返回值:空                                 */
/*  文件名:sequlist.c,  函数名:display()             */
/***************************************************/
 void display(sequence_list slt)
 {
   int i;
   if(!slt.size) printf("\n顺序表是空的!");
   else
     for(i=0;i<slt.size;i++)  printf("%5d",slt.a[i]);
 }
int countofnode(sequence_list L,datatype x)  /*也可以不用我给的函数原型,自己写一个函数*/
{
   int countofnode=0;
 for( int i=0;i<L.size;i++)
{
    if(L.a[i]==x)
    {
        countofnode++;
    }
}
return countofnode;
}
int main()
{sequence_list L;
 datatype y;
 int j,n;
 
 init(&L);
 /*建表*/
 printf("请输入顺序表的结点个数:");  scanf("%d",&n); 
 printf("请输入顺序表的结点值:");
 for(j=1;j<=n;j++)
   {scanf("%d",&y);  append(&L,y);}
 display(L);
 printf("请输入待统计的元素值:");
    scanf("%d",&y);                 
printf("该顺序表中值为y的元素个数为:");
    printf("%d",countofnode(L,y));
 
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值