数组的数据查找c语言,【查找数组面试题】面试问题:c语言实现数据… - 看准网...
对于很多初学c语言的同学·,虽然都能理解数据结构中的思想,但是不一定能用c一行一行撸出一个完整的代码,我最近也正好在重新看数据结构,所以就把c语言实现数据结构源代码放出来帮助初学者。
#include
#include
#define N 5
struct LNode {
int data[N];
int last;
};
typedef struct LNode *List;//给结构体取一个别名
struct LNode seqList;
List makeEmpty(List PtrL) {//对顺序表做初始化或者置为空
PtrL = (List) malloc (sizeof(seqList));
PtrL->last = -1;
return PtrL;
}
void Insert(List PtrL, int x, int i) {
if(i < 0 || i > PtrL->last+1) {
printf("插入位置不合法!");
return;//此处对插入的位置做判断,本实例中数组下标从开始。
}
if(PtrL->last == N-1) {
printf("表已满!");
return;//此处判断线性表是否已满
}
for(int j = PtrL->last; j >= i; j--)//对表中元素做后移操作,给新插入元素腾个位置
PtrL->data[j+1] = PtrL->data[j];
PtrL->last++;
PtrL->data[i] = x;
}
int dele(List PtrL, int i, int e) {
if(i <= 0 || i >= PtrL->last+1) {
printf("不存在%d个元素",i);
return -1;//表示删除元素不存在
}
e = PtrL->data[i-1];
for(int j = i; j <= PtrL->last; j++) {
PtrL->data[j-1] = PtrL->data[j];
}
PtrL->last--;
return e;//e为了记录被删除元素的值
}
int find(List PtrL, int e) {
int i;
for(i = 0; i <= PtrL->last && e != PtrL->data[i]; i++);
if(i>= 0 && i <= PtrL->last)
return i;
else
return -1;//表示查找元素不存在
}
void print(List PtrL) {
for(int i = 0; i <= PtrL->last; i++)
printf("%d ",PtrL->data[i]);
}
int main() {
List list;
int a[100], n, m, k, l;
list = makeEmpty(list);//初始化下
printf("请输入插入的个数及插入的元素:");
scanf("%d", &n);
for(int i = 0; i < n; i++) {
scanf("%d", &a[i]);
Insert(list,a[i],i);//插入5个元素
}
printf("插入元素后:");
print(list);
printf("\n");
printf("请输入要查找的元素值:");
scanf("%d", &m);
printf("当前元素位于第%d位置。\n",find(list,m)+1);
printf("请输入要删除的元素的位置:");
scanf("%d", &k);
l = dele(list,k,l);
printf("删除后的顺序表为:");
print(list);
printf("\n");
printf("删除的元素值为:%d", l);
return 0;
}
数组的数据查找c语言,【查找数组面试题】面试问题:c语言实现数据… - 看准网...相关推荐
- c语言面试题东软,【东软集团程序员Java东软集团C语言面试题】面试问题:东软java面… - 看准网...
当天我很早的就来到面试地点,其实我们还有课<算法分析与设计>,但是我们逃了吧,逃课的不止我一人,还有王凯,还有唐建军,王川,还有我的好友刘冠春.他们逃课也许是为了对面试做一个充分的准备吧, ...
- c语言字符串数组分配没错,【字符串数组面试题】面试问题:C语言基础小结… - 看准网...
26. 位段:指定结构体中成员变量所占的位数(以位的形式紧凑存储) unsigned char/int aaa:1 这里只能是unsigned char/int类型 27. 指针数组:int *p[1 ...
- C语言 编程判断花瓶是谁打碎的,【数组编程面试题】面试问题:C语言解决是谁… - 看准网...
逛贴吧偶遇一道很新颖的C语言编程题,想到自己的C语言荒废了很久,便决定花点时间解决一下练练手. 具体题目如下: 实验题目(4)[见实验教材实验五的题目6]:编写程序exp5_6.c,请判断花瓶是谁打碎 ...
- 百度linux c面试题,【百度百度糯米算法百度LinuxC语言数据面试题】面试问题:百度笔试题… - 看准网...
第一部分选择题: 有几道网络相关的题目,巨简单,比如第一题是TCP.RIP.IP.FTP中哪个协议是传输层的.......有一道linux的chown使用题目.其他的全是数据结构的题目!什么链,表,码 ...
- c语言 指针 字符串 回文 strcmp,【查找字符串面试题】面试问题:C语言指针题集… - 看准网...
1. 若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是(). A. p=q; B. *p=*q; C. a=*q; ...
- C语言单链成绩表,【查找链表面试题】面试问题:C语言基于单链… - 看准网
传说中讲课通俗而不庸俗,说话风流而不下流的小编又来了哦,今天的主要内容是:C语言基于单链表得学生成绩管理系统.首先给大家总结下为什么你们学习C语言会觉得难,尤其是对于单链表这块,主要原因得是因为一下两 ...
- 查找学生链表c语言,【查找链表面试题】面试问题:C语言实现学生… - 看准网...
趁着放假无事,开始用C语言开发一些小的项目,巩固基础知识的同时学习新的知识. 学生成绩管理系统实现的功能有:成绩录入.学生成绩查询.删除.修改.通过文件保存等. 开发这样一个系统需要具备的知识:线性表 ...
- c语言fwrite写字符串数组,【字符串数组面试题】面试问题:C语言 文… - 看准网...
1.文件中存储的学生信息按照班级编号升序排列,每个班级的人数可以不同,要求读取文件中所有学生的成绩,计算每个班级的平均成绩,将班级编号和平均成绩输出. 存储格式: 145811 fuxin ...
- c语言怎么使用数组播放下一首音乐,【数组编程面试题】面试问题:c语言MP3播… - 看准网...
#include #include #include #include //CString的头文件 #include//使用当前时钟做种子 #include #include #include #pr ...
- c语言 万年历问题,【数组函数面试题】面试问题:万年历的C语言… - 看准网
万年历_源码 主函数所在源码 #include #include #include int GetWeek(int year,int month,int day);//求今天是周几.周四就返回 4 . ...
最新文章
- 如何取消或定制当点击GridView 的时候出现的那个黄色背景
- C++中char类型的溢出问题
- JS高级-JQ初识-元字符-正则表达式
- css设置按钮竖直方向居中_如何借助伪元素实现垂直居中?
- 05-03 docker 常用命令
- 敏捷开发用户故事系列之五:用户故事的分类
- sftp配置导致ssh连接闪断
- ubuntu下安装 Source insight
- 学生成绩管理系统设计java_java学生成绩管理系统设计与实现
- 重写和重载的区别是什么
- mzy git学习,撤销修改(二)
- 成功解决Cannot uninstall 'pywin32'. It is a distutils installed project and thus we cannot accurately de
- ShuZu冒泡排序选择排序
- 如此沙雕的代码注释,原来程序员都是段子手
- 技术分享 | binlog 实用解析工具 my2sql
- 关键词SEO优化技巧
- vi 的完整指令说明 -- YenYen 整理
- Python制作属于自己的有声小说
- matlab波形相似系数,如何用matlab计算波形相似系数
- 成语消消乐java代码_成语消消看-4399成语消消看-成语消消看答案大全