顺序表

本文介绍了一种使用数组来实现顺序表的数据结构,并提供了C++代码示例。文章展示了如何进行插入、删除操作以及如何判断顺序表的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  下面是用 数组实现的 顺序表

 

 

template<typename T>
struct sq_LList {
private:
	int mm; //the max length
	int nn; //the length
	T *v; // the array

public:
	sq_LList() {
		mm = 0;
		nn = 0;
		v = NULL;
	}
	sq_LList(int n) {
		mm = n;
		nn = 0;
		v = new T[n];
	}

	int Insert(int position, T element) {
		if (nn >= mm) {
			std::cout << "overflow" << std::endl;
			return false;
		} else {
			if (position < 1)
				position = 1;
			if (position > nn)
				position = nn + 1;

			for (int k = nn; k >= position; k--)
			{
				v[k] = v[k - 1];
			}
			v[position - 1] = element;
			++nn;
			return true;
		}
	}

int flag ()
{
	if(nn==mm)  return -1;
	if(nn==0)    return 0;
	return 1;
}


void Display()
{
	for(int i=0;i<nn;++i)
		std::cout<<v[i]<<"  "<<std::endl;
}


T Remove (int position)
{
	if(position<1 && position>nn)
		return T(0);
	else
	{
		T temp=v[position-1];
		for(int k=position;k<nn;++k)
		{
			v[k-1]=v[k];
		}
		v[nn-1]=0;
		--nn;
		return temp;
	}

}

~sq_LList()
{
	delete [] v;
}
};
#include<iostream>


int main(int argc,char *argv[])
{
   sq_LList<int> test(20);

   test.Insert(1,123);



   test.Display();



	return true;
}

 

 

使用的是 eclipse + cdt 写的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值