当前位置: 首页 > news >正文

(数据结构)顺序表的查找

静态分配代码:

#include<stdio.h>
#include<stdlib.h>
#define MAX 100
typedef struct LinkList
{int data[MAX];int lenth;
}Link;
//初始化
void CreateList(Link* L)
{L->lenth = 0;for (int i = 0; i < MAX; i++){L->data[i] = 0;}
}
//插入
int LinkInsert(Link* L,int i,int e)
{if (i<1 || i>L->lenth + 1){printf("需要插入的位序错误\n");return 0;}if (L->lenth > MAX){printf("顺序表已满,不能进行插入操作\n");return 0;}for (int j=L->lenth; j >=i ; j--){L->data[j] = L->data[j-1];}L->data[i - 1] = e;L->lenth++;return 1;
}
//删除
int  ListDesert(Link* L, int i)
{if (i<1 || i>MAX){printf("需要删除的位序错误\n");return 0;}int e = L->data[i - 1];for (int j = i; j < L->lenth; j++){L->data[j - 1] = L->data[j];}L->lenth--;return e;
}
//输出
void Print(Link* L)
{printf("顺序表为:");for (int i = 0; i < L->lenth; i++){printf("%d ",L->data[i]);}printf("\n");
}
//按值查找
int LocateElem(Link* L, int e)
{for (int i = 0; i < L->lenth; i++){if (e == L->data[i]){return i + 1;}}return 0;
}
//按位查找
int GetElem(Link* L, int o)
{return L->data[o-1];
}
int main()
{//初始化Link* L;L = (Link*)malloc(sizeof(Link));CreateList(L);//插入int i, e;while (1){printf("请输入需要插入的位置i,和需要插入的值e,i为99999时结束插入\n");scanf("%d %d", &i, &e);LinkInsert(L, i, e);if (i == 99999){printf("插入结束\n");break;}Print(L);}//删除int j;while (1){printf("请输入需要删除的位置j,j为99999是结束删除\n");scanf("%d", &j);ListDesert(L, j);if (j == 99999 || L->lenth == 0){printf("结束删除操作\n");break;}Print(L);}//按值查找int k;printf("请输入需要查找的值\n");scanf("%d",&k);int g=LocateElem(L, k);printf("需要查找的值在第%d位\n",g);//按位查找int o;printf("请输入需要查找的位序\n");scanf("%d",&o);int m=GetElem(L, o);printf("第%d的数据为%d\n",o,m);return 0;
}

 

http://www.lryc.cn/news/250705.html

相关文章:

  • vue 解决响应大数据表格渲染崩溃问题
  • Hdoop学习笔记(HDP)-Part.13 安装Ranger
  • Spring AOP记录接口访问日志
  • 分享89个节日PPT,总有一款适合您
  • PostgreSQL日志中的SQL记录时机 —— log_statement 和 log_min_duration_statement
  • Agent举例与应用
  • CentOS 7 配置tomcat
  • 如何优雅的关闭一个IIS站点
  • 弱网模拟工具
  • Leetcode 第 110 场双周赛 Problem D 2809. 使数组和小于等于 x 的最少时间(DP+贪心+正难则反)
  • 已知数组A[1..n]中元素类型为非负整数,设计算法将其调整为左右两部分,左边所有为奇数,右边所有为偶数,并要求算法的时间复杂度为O(n)
  • ssm+vue的罪犯信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
  • Java/Android 各类型数据构造和各类型数据解析
  • Linux系统---环境变量+内核进程调度队列(选学)
  • Kubernetes 使用插件扩展 kubectl
  • 前端面试题09
  • 网站更换IP的四大注意事项
  • 策略模式与简单工厂模式:终结if-else混乱,让代码更清爽
  • TCP三次握手过程
  • 04-配置远程仓库的SSH免密登陆
  • 【中文编码】利用bert-base-chinese中的Tokenizer实现中文编码嵌入
  • 一文解决msxml3.dll文件缺失问题,快速修复msxml3.dll
  • 《React 知识点》第一篇 大括号使用{}
  • kafka入门(二): 位移提交
  • PG时间计算
  • 基于51单片机的交通灯_可调时间_夜间+紧急模式
  • 网络通信原理,进制转化总结
  • 西南科技大学(数据结构A)期末自测练习三
  • 【halcon】裁剪
  • vue+less+style-resources-loader 配置全局颜色变量