C++数据结构线性表实例

/*
*  线性表 数据结构程序
* 作者 : 邱于涵
*2015年2月17日11:25:28
*/
#include 
using namespace std;
struct node
{
	int * data;
	int length;
	int max;

};
node *create()
{
	node *p = new node;
	p->data = new int[10];
	p->length = 0;
	p->max = 10;
	return p;
}
bool push(node *p, int data)
{
	if (p->length == p->max)
	{
		return false;
	}
	*(p->data + (p->length)) = data;
	++(p->length);
	return true;

}
bool insert(node *p, int i, int data)
{
	if (p->length == p->max || p->length <= i)
	{
		return false;
	}
	int t;
	for (t = (p->length - 1); t >= (i-1); t--)
	{
		*(p->data + (t + 1))=*(p->data + t);
		
	}
	
	
	*(p->data + (i-1)) = data;
	++(p->length);
	return true;
}
bool each(node *p)
{
	
	for (int i = 0; i < p->length; i++)
	{
		cout << "第" << i + 1 << "个是" << *(p->data + i) << endl;

	}
	return true;
}
bool del(node *p, int i)
{
	if (p->length <= i)
	{
		return false;
	}
	for (int q = i - 1; q <= p->length - 1; q++)
	{
		*(p->data + q) = *(p->data + (q + 1));
	}
	--(p->length);
	return true;
}
int main()
{
	node *p = create();
	push(p, 1);
	push(p, 2);
	each(p);
	cout << "===============" << endl;
	insert(p, 1, 50);
	each(p);
	del(p, 1);
	each(p);
	cin.get();
}

你可能感兴趣的:(数据结构,C++,数据结构)