ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-07-25 22:04:02  阅读:103  来源: 互联网

标签:03 顺序 int 位置 查找 按位 printf 基本操作


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

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

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

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

//顺序表的基本操作:按位查找
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;
}

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

标签:03,顺序,int,位置,查找,按位,printf,基本操作
来源: https://www.cnblogs.com/heshuo/p/16518988.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有