解题思路:

因为最近学习数据结构,就用数据结构的顺序表来解题,基本想法就是使用顺序表的模板来进行增删改查的操作。显然这里只涉及到插入元素和寻找元素两个操作,至于容量扩增的问题在目前这个题里并不需要,因为使用的capacity也算是刚刚好。

注意事项:

参考代码:

//
// Created by 29714 on 25-9-2.
//
#include <iostream>
using namespace std;
#define eleType int//宏定义元素类型
//定义一个结构体顺序表

struct sqList {
   eleType *data;
   int size;
    int capacity;
};

//实现顺序表
void newSqList(struct sqList *sq,int cap) {
   sq->data = new eleType[cap];
   sq->size = 0;
   sq->capacity = cap;
}
//插入元素
void insertSqList(struct sqList *sq,eleType e) {
   if (sq->size < sq->capacity) {
       sq->data[sq->size++] = e;
   }
}
//查找元素
int lookFordata( sqList *sq,int index) {
   for(int i=0;i<sq->size;i++) {
       if(sq->data[i]==index) {
           return i+1;
       }
   }
   return -1;
}

int main() {
   int n,m;
   cin>>n;

//列表初始化
   sqList mql;
   newSqList(&mql,n);
   for(int i=0;i<n;i++) {
       eleType e;
       cin>>e;

//将元素插入顺序表

       insertSqList(&mql,e);
   }
   cin>>m;
   cout<<lookFordata(&mql,m)<<endl;
   return 0;
}

点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论