顺序表练习

目录

1.SqList.h

2.SqList.c

3.Function.c


练习: 建立一个顺序表L={21,23,14,5,56,17,31},然后在第3个位置插入元素68,最后依次显示当前线性表中的数据元素

1.SqList.h

引入头文件,#deifne定义,typedef定义,函数声明

#define _CRT_SECURE_NO_WARNINGS 1
#pragma once
#include <stdio.h>
#include <stdbool.h>

#define MaxSize 10//顺序表最大容量

typedef int DataType;//方便使插入元素的类型与数组list中的类型相同
typedef struct
{
	DataType list[MaxSize];
	int size;//顺序表当前长度
}SqList;

void ListInitiate(SqList* L);//初始化顺序表
bool ListInsert(SqList* L, int  i, DataType a);//顺序表给第i个元素前插入元素
int ListLength(SqList* L);//返回顺序表L的当前元素个数
bool ListGet(SqList* L, int i, DataType* y);//从顺序表中取元素,带回y

2.SqList.c

顺序表的操作

#include "SqList.h"

void test()
{
	DataType y = 0;
	int i = 0;
	SqList L;
	ListInitiate(&L);//初始化顺序表,i>=0

	//1
	DataType arr[] = {21,23,14,5,56,17,31};
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (i = 0; i < sz; i++)
	{
		ListInsert(&L, i, arr[i]);//顺序表给第i个元素前插入元素
	}
	
	// 2
	//DataType n = 0;
	// for (i = 0; i < 7; i++)
	//{
	//	 scanf("%d", &n);
	//	ListInsert(&L, i, n);//顺序表给第i个元素前插入元素
	//}



	ListInsert(&L, 2, (DataType)(68));
	for (i = 0; i < ListLength(&L); i++)//返回顺序表L的当前元素个数
	{
		ListGet(&L, i, &y);//从顺序表中取元素,带回y
		printf("%d ", y);
	}
}

int main()
{
	test();
	return 0;
}

3.Function.c

顺序表函数具体实现

#include "SqList.h"

void ListInitiate(SqList* L)//初始化顺序表
{
	for (int i = 0; i < MaxSize; i++)
	{
		L->list[i] = 0;
	}
	L->size = 0;
}

bool ListInsert(SqList* L, int  i, DataType a)//顺序表给第i个元素前插入元素
{
	if (i < 0 || i > L->size)
	{
		printf("参数i不合法!\n");
		return false;
	}
	else if (L->size >= MaxSize)
	{
		printf("顺序表已满无法插入!\n");
		return false;
	}
	else
	{
		for (int j = L->size; j > i; j--)
		{
			L->list[j] = L->list[j - 1];
		}
		L->list[i] = a;
		L->size++;
		return true;
	}
}
int ListLength(SqList* L)//返回顺序表L的当前元素个数
{
	return L->size;
}

bool ListGet(SqList* L, int i, DataType* y)
{
	if (i < 0 || i >= L->size)
	{
		printf("参数i不合法!\n");
		return false;
	}
	else
	{
		*y = L->list[i];
		return true;
	}
}

相关推荐

  1. 顺序练习

    2024-04-22 08:04:03       40 阅读
  2. 顺序原码(练习版)

    2024-04-22 08:04:03       37 阅读
  3. <span style='color:red;'>顺序</span><span style='color:red;'>表</span>

    顺序

    2024-04-22 08:04:03      82 阅读
  4. 顺序和链

    2024-04-22 08:04:03       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 08:04:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 08:04:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 08:04:03       87 阅读
  4. Python语言-面向对象

    2024-04-22 08:04:03       96 阅读

热门阅读

  1. TypeScript中什么是类类型接口?

    2024-04-22 08:04:03       39 阅读
  2. conda离线状态安装环境:更快安装环境的方式

    2024-04-22 08:04:03       29 阅读
  3. MySQL数据库——17.正则表达式

    2024-04-22 08:04:03       35 阅读
  4. 在ts中const和readonly区别?

    2024-04-22 08:04:03       38 阅读
  5. 课时101:正则表达式_基础实践_字符匹配

    2024-04-22 08:04:03       37 阅读
  6. 数据结构-排序

    2024-04-22 08:04:03       29 阅读
  7. 身份证实名接口和身份证OCR接口的组合使用

    2024-04-22 08:04:03       41 阅读