Rocket学代码——C++版数据结构——顺序表篇(持续更新)

  1. 顺序表

线性结构(线性表):一维数组,队列,栈

先整理一维数组的题,以及代码实现,如下:

首先我们需要建立顺序表的结构,以及初始化和创建一维数组

分别是:初始化顺序表;销毁顺序表(自动调用);创建一个顺序表;打印顺序表

#include "stdafx.h"
#include <iostream>
using namespace std;

#define MAXSIZE 3
#define Node ElemType
#define ERROR 0
typedef int DateType;

class Node {//创建一个节点类
public:
	DateType data;
};

class SqList {//创建一个顺序表的类
public:
	SqList();//功能1:初始化顺序表
	~SqList();//功能2:销毁顺序表
	void CreateSqList(int n);//功能3:定义创建一个顺序表
	void Print();//功能4:打印顺序表
private:
	Node * elem;//顺序表的基址
	int length;//顺序表的长度
};
//功能1
SqList::SqList() {
	elem = new ElemType[MAXSIZE];//开辟空间
	if (!elem)//当溢出时候报异常
		exit(OVERFLOW);
	length = 0;
}
//功能2
SqList::~SqList() {
	delete[] elem;//删除基址的指针
}
//功能3
void SqList::CreateSqList(int n) {
	if (n < 0) {
		cout << "input number of node is error!" << endl;
		exit(EXIT_FAILURE);
	}
	else {
		int i;
		for (i = 0; i < n; i++) {//循环向数组中添加元素
			cout << "Please input the key of NO." << i + 1 << " : ";
			cin >> elem[i].data;
		}
		length = n;//更改顺序表的长度
	}
}
//功能4
void SqList::Print() {
	if (length > 0) {
		for (int i = 0; i < length; ++i)
			cout << elem[i].data << " ";
		cout << endl;
	}
	else
		cout << "The SqList is empty" << endl;
//主函数(功能函数需要在这里调用)
int main()
{
        //创建一个顺序表,并且打印
	SqList l;
	int n;
	cout << "please input number: ";
	cin >> n;
	l.CreateSqList(n);
	l.Print();

	system("pause&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值