怎么把这个改成c语言惹
#include <iostream>
using namespace std;
template <class datatype>
class seqlist
{
public:
datatype* data;
int maxsize;
int last;
public:
seqlist() //构造函数
{
maxsize = 100;
data = new datatype[maxsize];
last = -1;
}
seqlist(int sz)
{
if (sz > 0)
maxsize = sz;
else
maxsize = 100;
data = new datatype[maxsize];
last = -1;
}
bool isempty() { return last == -1 ? true : false; }
bool isfull() { return last == maxsize - 1; }
int length() { return last + 1; }
bool getdata(int i, datatype &x); //引用
bool insert_data(int i, datatype x);
bool delete_data(int i);
void print_list();
//int find_data(datatype x);
//void sort();
~seqlist() { delete[] data; }
};
template <class datatype>
bool seqlist <datatype>::insert_data(int i, datatype x)
{
if (isfull())
{
cout << "表已满,不能插入!\n";
return false;
}
if ((i >= 1) && (i <= (last + 2)))
{
int j = 0;
for (j = last; j >= i - 1; j--)
{
data[j + 1] = data[j];
}
data[j + 1] = x;
last++;
return true;
}
else
{
cout << "插入位置错误,不能插入!\n";
return false;
}
}
template <class datatype>
bool seqlist<datatype>::delete_data(int i)
{
if (isempty())
{
cout << "表已空,不能删除!\n";
return false;
}
if ((i >= 1) && (i <= last + 1))
{
for (int j = i - 1; j < last; j++)
data[j] = data[j + 1];
last--;
return true;
}
else
{
cout << "删除位置错误,不能删除!\n";
return false;
}
}
template <class datatype>
bool seqlist<datatype>::getdata(int i, datatype &x)
{
x = data[i - 1];
return true;
}
template <class datatype>
void seqlist<datatype>::print_list()
{
datatype x;
for (int i = 1; i <= last + 1; i++)
{
getdata(i, x);
cout << x << " ";
}
cout << endl;
}
int main()
{
seqlist <int> linear_list0(-10);
seqlist <int> linear_list1(101);
for (int i = 1; i < 7; i++)
{
linear_list0.insert_data(i, (i) * 100);
linear_list1.insert_data(i, (i) * 1000);
}
linear_list0.print_list();
linear_list1.print_list();
linear_list1.insert_data(-1, 1000);
linear_list1.insert_data(9, 1000);
linear_list1.print_list();
linear_list1.insert_data(7, 1100);
linear_list1.insert_data(7, 1200);
linear_list1.print_list();
linear_list0.delete_data(2);
linear_list0.print_list();
int x;
linear_list0.getdata(5, x);
cout << "x = "<<x<<endl;
linear_list0.getdata(6, x);
cout << "x = " << x<<endl;
linear_list0.getdata(7, x);
cout << "last =" << linear_list0.last<<endl;
return 0;
}