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

线性表的顺序表示(顺序表)

静态分配:

#include <stdbool.h>
#include <stdio.h>typedef int ElementType;#define MaxSize 50
typedef struct {ElementType data[MaxSize];int length;
}SqList;//初始化
//SqList L;
void InitList(SqList L) {L.length = 0;
}//插入
bool ListInsert(SqList L, int i, ElementType 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;
}//删除
bool ListDelete(SqList L, int i, ElementType 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;
}//按值查找(顺序查找)
int LocateElem(SqList L, ElementType e) {int i;for (i = 0; i < L.length; i++)if (L.data[i] == e)return i + 1;return 0;
}

动态分配:

typedef int ElementType;#define InitSize 100
typedef struct {ElementType *data;int MaxSize, length;
}SeqList;//初始化
void InitList(SeqList L) {L.data = (ElementType *)malloc(InitSize*sizeof(ElementType));L.length = 0;L.MaxSize = InitSize;
}

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

相关文章:

  • 矩阵A的LU分解
  • 深入了解Flutter中Future的全部工厂方法及使用
  • python的BBS论坛系统flask-django-nodejs-php
  • vulnhub-----pWnOS1.0靶机
  • vue 消息左右滚动(前后无缝衔接)
  • Qt如何直接处理系统事件(比如鼠标事件),而不是post事件
  • Web前端笔记+表单练习+五彩导航
  • 软件架构和基于架构的软件开发方法知识总结
  • 环信新版单群聊UIKit集成指南——Android篇
  • 最细致最简单的 Arm 架构搭建 Harbor
  • mysql基础02
  • css的box-shadow详解
  • 递归的个人总结
  • 使用PDFBox调整PDF每页格式
  • 【3D reconstruction 学习笔记】
  • (附源码)基于Spring Boot与Vue的宠物用品销售系统设计与实现
  • Qwen及Qwen-audio大模型微调项目汇总
  • 浅析ArcGis中的软件——ArcMap、ArcScene、 ArcGlobe、ArcCatalog
  • AndroidStudio插件出现“Compatible with IntelliJ IDEA only“错误时的解决方案
  • 探索未来的编程趋势与挑战
  • 第十二届蓝桥杯省赛CC++ 研究生组
  • Ubuntu自启GUI程序
  • 【光标精灵】让您享受鼠标皮肤多样化快捷更换
  • Vue 常见面试题(一)
  • Elasticsearch 的 scroll API
  • Leedcode刷题——2 字符串
  • 2016年认证杯SPSSPRO杯数学建模B题(第二阶段)多帧图像的复原与融合全过程文档及程序
  • WMI接口设计实现
  • 前端项目,个人笔记(二)【Vue-cli - 引入阿里矢量库图标 + 吸顶交互 + setup语法糖】
  • OpenCV 介绍使用