数据结构——线性表——顺序存储结构——C++实现线性表

顺序存储结构C++实现篇:主要实现了线性表的定义、初始化、显示、增、删结点操作。


切记亲力亲为,动手实践写代码


main.cpp

/*************************************************************************** 
 *  @file       main.cpp 
 *  @author     MISAYAONE 
 *  @date       11  May 2017 
 *  @remark     11  May 2017  
 *  @theme      Sequence List  
 ***************************************************************************/  

#include "Linear_list.h"

#include 
using namespace std;

int main(int argc, char** argv)
{
	Seque_list L;
	Init_list(L);
	List_dispaly(L);

	Insertion(L,56,3);
	cout<


Linear_list.h

//线性表数据结构的定义
#define MAXSIZE 1024
typedef struct
{
	int data[MAXSIZE]; //存放线性表结点的数据空间
	int length;        //指示线性表当前长度
} Seque_list;

//线性表的初始化
bool Init_list(Seque_list &L);

//显示线性表的内容
bool List_dispaly(Seque_list L);

//线性表的插入操作
bool Insertion(Seque_list &L,int x,int i);

//线性表的删除操作
bool Delete(Seque_list &L,int i);


Linear_list.cpp

#include "Linear_list.h"
#include 
using std::cin;
using std::cout;
using std::endl;

bool Init_list(Seque_list &L)  //传入线性表的引用或者指针,否则不能改变
{
	L.length = 0;             //初始化当前线性表长度
	int List_data,i = 0;
	while (cin>>List_data)
	{
		L.data[i] = List_data;
		++(L.length);
		++i;
	}
	return true;
}

bool List_dispaly(Seque_list L)
{
	cout<<"线性表的大小为:"<= MAXSIZE || L.length>=MAXSIZE-1) //加上溢出判断
	{
		return false;
	}
	else
	{
		if (i<0 || i>=L.length)               //加上非法位置判断                        
		{
			cout<<"插入位置非法"< i;j--)
			{
				L.data[j] = L.data[j-1];
			}
			L.data[i] = x;
			L.length +=1;     //修改插入元素后的线性表大小
		}
	}	
}

bool Delete(Seque_list &L,int i)
{
	if (i<0 || i>=L.length)   //非法位置判断
	{
		return false;
	}
	else
	{
		for (int j = i; j











你可能感兴趣的:(【数据结构】,C++疑难杂症知识点)