数据结构代码实操03——————顺序表的基本操作:1、按位查找 2、按值查找(这次的比较简单)

果然,实践出真理,通过这几次的实践,不说对于顺序表理解的有多透彻,可以说是对于顺序表十分熟悉了。刚开始理解是感觉有些难,但通过打代码去实践,自己也在不知不觉间对于顺序表有了自己的认识。刚开始看顺序表感觉很陌生,但现在却有些亲切感了。嘿嘿嘿

顺序表的按位查找,你想要知道顺序表哪个位置的值,你就直接把那个位置的值输出就行

顺序表的按值查找,你想要知道顺序表里是否有那个值,就要用循环不断按顺序一个一个找是否有那个值

顺序表的按位查找和按值查找:

//顺序表的基本操作:按位查找
void LocateList(SeqList &L,int i){         //查找第i个位置
if(i<1||i>L.length){                //先判断一下输入的位置的值是否合法
printf("输入的位置错误!\n");
}
else{                       //按位输出就行,由于i是从零开始的,所以减一。
printf("位置%d的值为:%d\n",i,L.data[i-1]);      //顺便提一下,这也是顺序表的优点:随机访问

}
}

//顺序表的基本操作:按值查找
int DataList(SeqList &L,int n){            //n为你想要查找的值
for(int i=0;i<L.length;i++){              //通过循环寻找你想要的值
if(L.data[i]==n){
printf("查询成功!值的位置为:%d\n",i+1);       //第几个位置,i是从零开始的 ,所以减一
return 0;
}
}
printf("没有找到该值\n");                //没有找到的话执行该行代码
return 0;
}

 

接下来是我用于执行实验的代码:

#include<stdio.h>
#include<stdlib.h>
#define InitSize 10
//定义顺序表
typedef struct{
int *data;
int length;
int MaxSize;
}SeqList;

//初始化顺序表
void InitList(SeqList &L){
L.data=(int *)malloc(InitSize*sizeof(int));
L.length=10;
L.MaxSize=InitSize;
}

//顺序表的基本操作:按位查找
void LocateList(SeqList &L,int i){              //查找第i个位置
if(i<1||i>L.length){                   //先判断一下输入的位置的值是否合法
printf("输入的位置错误!\n");
}
else{                          //按位输出就行,由于i是从零开始的,所以减一。
printf("位置%d的值为:%d\n",i,L.data[i-1]);        //顺便提一下,这也是顺序表的优点:随机访问

}
}
//顺序表的基本操作:按值查找
int DataList(SeqList &L,int n){             //n为你想要查找的值
for(int i=0;i<L.length;i++){                //通过循环寻找你想要的值
if(L.data[i]==n){
printf("查询成功!值的位置为:%d\n",i+1);        //第几个位置,i是从零开始的 ,所以减一
return 0;
}
}
printf("没有找到该值\n");                //没有找到的话执行该行代码
return 0;
}


//顺序表的调用
int main(){
SeqList L;
InitList(L);
printf("请输入想要查找的位置:\n");
int a; //想在顺序表中查找的位置a
scanf("%d",&a);
int b; //想在顺序表中查找的值 b
printf("请输入想要查找的值:\n");
scanf("%d",&b);

printf("请输入顺序表中的各个值:\n");
for(int i=0;i<L.length;i++){
scanf("%d",&L.data[i]); //给顺序表的空间赋值
}
LocateList(L,a);
DataList(L,b);


return 0;
}

最后,希望这些代码对于大家能有所帮助。毕竟纯属原创,本人编程能力有限,肯定会有不足的地方,希望各位多多指出!

posted @ 2022-07-25 21:48  技术大佬  阅读(952)  评论(0)    收藏  举报