//程序实现链表的创建,链表的查询功能
//create()方法实现了顺序链表的创建,并调用链表查询模块的find()方法
//find()方法实现顺序链表的查询
#include <stdio.h>
#define maxsize 100 //定义一个数组的长度
//定义一个连续数组Sqlist
typedef struct Sqlist{
int date [maxsize];
int length;
}Sqlist;
//查看数组中是否有数字x
//如果有,返回在数组的位置,如果没有,则返回0;
int find(Sqlist l,int x){
int j;
int k = 0;
for ( j= 1; j<=l.length; ++j){
if (x==l.date[j]){
k= j;
}
else
k=0;
}
return k;
}
//创建一个顺序链表
//一个数组对应一个指针,指针保存在这个方法中,并不能
//继续使用
void create(Sqlist l){
int ll; //顺序链表的长度
printf("输入链表的长度:\n");
scanf("%d",&ll);
l.length = ll;
// 建立一个顺序链表
for (int i =1;i<= l.length; i++) {
printf("请输入第%d个数字:",i);
scanf("%d",&l.date[i]);
}
//对顺序链表进行查找,查找是否存在一个数值X
//在顺序链表中
int x;
printf("请输入一个数字x:");
scanf("%d",&x);
//调用查找方法find()
int k = find(l, x);
if (k==0) {
printf("没有这个数字");
}
else
printf("这个数字在数组的位置%d\n",k);
}
int main(int argc, const char * argv[])
{
// 定义一个顺序数组
Sqlist l;
// 调用函数
create(l);
printf("Hello, World!\n");
return 0;
}
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。