顺序表的基本操作
程序员文章站
2024-03-20 14:20:46
...
在这里插入代码片
**#include <iostream>
#include <cstring>
#include <string>
#include <stdio.h>
#define MAX 10001
using namespace std;
//顺序表基本操作
typedef struct//顺序表
{
int data[MAX];
int len;
}sqlist;
//返回第一个比x大的元素:
int find(sqlist L,int x)//因为是查找不需要改变 值传递即可不用引用类型(指针)
{
for(int i=0;i<L.len;i++)
{
if(x<L.data[i])
return i;
}
return -1;//找不到
}
//引用型与指针型:指针是一个实体,而引用仅是个别名;
//引用型不需要->来引用 L既是实参的别名(即L就是原来的实参)
//指针类型只是实参地址
//L本身改变 需要用引用型
void insert(sqlist &L,int x)//插入x
{
int p=find(L,x);
for(int i=L.len-1;i>=p;i--)
{
L.data[i+1]=L.data[i];//从后移动腾出空
}
L.data[p]=x;
L.len++;
}
//删除某个位置元素
int delete(sqlist &L,int p,int &e)//把删除后的值给e
{
if(p<0||p>=L.len);//判断越界
return 0;//查找失败
e=L.data[p];//删除的值返回给e;
for(int i=p+1;i<L.len;i++)
{
L.data[i-1]=L.data[i];
}
L.len--;//删除后长度别忘减
return 1;
}
int main()
{
return 0;
}
**
上一篇: EasyExcel的导入和导出
下一篇: 顺序表的基本操作