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

数据结构(考研)

线性表

顺序表

顺序表的静态分配 

//线性表的元素类型为 ElemType

//顺序表的静态分配 
#define MaxSize=10
typedef int ElemType;
typedef struct{
	ElemType data[MaxSize];
	int length;
}SqList;

顺序表的动态分配 

//顺序表的动态分配
#define InitSize 10
typedef struct{
	ElemType * data;
	int MaxSize
	int length;
}SqList; 

//初始化
void InitList(SqList &L)
{
	L.data=(ElemType *)malloc(InitSize*sizeof(ElemType));
	L.length=0;
	L.MaxSize=InitSize;
 } 

 插入操作 O(n)

//插入操作
#define MaxSize=10
typedef int ElemType;
typedef struct{
	ElemType data[MaxSize];
	int length;
}SqList;

bool ListInsert(SqList &L,int i,int e)
{
	if(i<1||i>L.length+1) return false;
	if(L.length==MaxSize) return false;
	for(int j=L.length;j>=i;j--)
	{
		L.data[j]=L.data[j-1];
	}
	L.data[i-1]=e;
    L.length++;
	return true;
}

删除操作 O(n)

//删除操作
#define MaxSize=10
typedef int ElemType;
typedef struct{
	ElemType data[MaxSize];
	int length;
}SqList;
bool ListDelete(SqList &L,int i,ElemType &e)
{
	if(i<1||i>L.length) return false;
	e=L.data[i-1];
	for(int j=i;j<L.length;j++)
	{
		L.data[j-1]=L.data[j];
	}
	L.length--;
	return true;
	
}

按值查找  O(n)

int LocateElem(SqList L,ElemType e)
{
    int i;
    for(i=0;i<L.length;i++)
    {
        if(L.data[i]==e) return i+1;
    }
    return 0;
 } 

单链表
 


http://www.kler.cn/a/545718.html

相关文章:

  • 无人机 ,遥控器与接收机之前的通信
  • ChartDB:一个基于Web的可视化数据库设计工具
  • 香港服务器系统怎么查看端口是否开放?
  • Android网络框架——OKHttp
  • Android Studio设置增量build
  • 【C#】的WPF或是WinForm实现Ctrl+ 的快捷键组合使用
  • langchain学习笔记之小样本提示词Few-shot Prompt Template
  • 【04】区块链安全技术
  • WEB攻防-第60天:PHP反序列化POP链构造魔术方法流程漏洞触发条件属性修改
  • 【C语言】左旋字符串(三种实现方式)
  • 编码格式大全解释以及相关编码特性
  • redis的哨兵模式和集群模式
  • 新数据结构(7)——Object
  • 如何利用ARM边缘计算盒子实现高效工业设备预测性维护?
  • Kotlin 2.1.0 入门教程(十五)继承、重写、派生类初始化顺序
  • docker-compose暴露端口,但其他主机无法访问问题。
  • 卡尔曼滤波 Python示例代码
  • 设备智能化无线交互,ESP32-C3芯片方案,物联网WiFi蓝牙控制通信
  • ELK安装部署同步mysql数据
  • 代码随想录算法【Day44】