IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> C语言-线性表的顺序结构 -> 正文阅读

[数据结构与算法]C语言-线性表的顺序结构

Author:老九
计算机专业
可控之事 沉重冷静 不可控之事 乐观面对
85180586@qq.com
😄 😆 😵 😭 😰 😅 😢 😤 😍 ?? 😎 😩

👍 👎 💯 👏 🔔 🎁 ? 💣 ?? ?? 🌀 🙇 💋 🙏 💦 💩 ?? 💢
————————————————
版权声明:本文为CSDN博主「浦上青天」的原创文章


知识点

线性表

  • 由n个相同类型的元素组成有序的集合
  • 线性表是逻辑接哦古,是独立于存储结构的!存储结构是顺序表和链表

顺序表

在这里插入图片描述

定义一个结构体

#define _CRT_SECURE_NO_WARNINGS 1
#include"func.h"
//malloc 需要加stdlib包
#include<stdlib.h>
#define MaxSize 50
typedef int ElemType;
typedef struct {
	int data[MaxSize];
	int length;
}SqList;

主函数

int main() {
	SqList L;//顺序表名称
	bool ret;//查看返回值
	int del;//用来存储要删除的元素
	int pol;
	L.data[0] = 1;
	L.data[1] = 2;
	L.data[2] = 3;
	L.length = 3;//总计三个元素
	ret = ListInsert(L, 2, 60);//往第二个位置插入60这个元素
	if (ret) {
		printf("插入成功\n");
		PrintList(L);
	}
	else {
		printf("插入失败\n");
	}
	ret = ListDelete(L, 1, del);
	if (ret) {
		printf("删除成功\n");
		printf("删除元素的值为%d\n", del);
		PrintList(L);
	}
	else {
		printf("删除失败");
	}
	pol = LocateElem(L, 60);
	if (pol) {
		printf("查找成功\n");
		printf("元素位置为 %d\n", pol);
	}
	else {
		printf("查找失败\n");
	}
	return 0;
}

插入操作

//i代表插入的位置,从1开始,e是要插入的元素
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;
}

打印顺序表

//打印顺序表
void PrintList(SqList& L) {
	for (int i = 0; i < L.length; i++) {
		printf("%3d", L.data[i]);
	}
	printf("\n");
}

删除操作

//删除操作
bool ListDelete(SqList& L, int i, int& e) {
	if (i < 1 || i>L.length)
		return false;
	if (L.length == 0)
		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;
}

查找操作

//查找成功,返回位置,位置从1开始,查找失败返回0
int LocateElem(SqList L, ElemType e) {
	int i;
	for (int i = 0; i < L.length; i++) {
		if (L.data[i] == e)
			return i + 1;
		return 0;

	}
}

先赞后看,养成习惯!!!^ _ ^???
每天都更新知识点哦!!!
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘记关注我哦!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:50:47  更:2022-03-10 22:51:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:25:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码