Author:老九 计算机专业 可控之事 沉重冷静 不可控之事 乐观面对 85180586@qq.com 😄 😆 😵 😭 😰 😅 😢 😤 😍 ?? 😎 😩
👍 👎 💯 👏 🔔 🎁 ? 💣 ?? ?? 🌀 🙇 💋 🙏 💦 💩 ?? 💢 ———————————————— 版权声明:本文为CSDN博主「浦上青天」的原创文章
知识点
线性表
- 由n个相同类型的元素组成有序的集合
- 线性表是逻辑接哦古,是独立于存储结构的!存储结构是顺序表和链表
顺序表
定义一个结构体
#define _CRT_SECURE_NO_WARNINGS 1
#include"func.h"
#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);
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;
}
插入操作
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;
}
查找操作
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;
}
}
先赞后看,养成习惯!!!^ _ ^??? 每天都更新知识点哦!!! 码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘记关注我哦!
|