题目:设计算法计算顺序表中元素X的个数,殊勋表结构如下。
我在学习数据结构的时候拿到题目看了半天不知道干啥子。还在纠结这单词我都认不到,还要查百度?
1.经过我深思熟虑终于发现其中的技巧,这不就是相当于遍历一个数组吗?
相当于c语言中的对一个数组进行计数一样,只是这个多加了一步,就是遍历数组的同时找到需要的元素,并且+1而已。
下面是我写的代码
int count(sqlist L,int X)
{
int i,sum;
for(i=0;i<L.length;i++)// 这里是for循环完后遍历
{
if(X==L.data[i]){//查找和X相同的数据
sum++;//这里计数
}
}
return (sum);
}
讲道理这个程序还是很简单的,主要就是遍历这个程序而已后面就是测试是不是正确的。
#include <stdio.h>
typedef struct { //定义顺序表
int data[100];//数据的最大存储
int length;//数据的长度。
}sqlist;
int count(sqlist L,int X)
{
int i,sum = 0;
for(i=0;i<L.length;i++)// 这里是for循环完后遍历
{
if(L.data[i] == X){//查找和X相同的数据
sum++;//这里计数
}
}
return sum;
}
int main()
{
//现在就是在这里声明一个函数了
sqlist list = {{1,2,5,6,7,5,4,6,3,10,},10};
printf("count = %d",count(list,5));//这里就是验证这个函数到底对不对了,这里我测试验证5的个数。
return 0;
}
最后就是我的验证的结果了
好了,今天就写到这里了,咋们下周再见,下周我估计会讲一些数据结构中的查找算法。
我是阿杜,赶紧上车。