废话不多说代码中有详细的注释一看就明白,使用的英文函数名对应即可哦!
#include<iostream>
using namespace std;
int maxdata;
int step1;
typedef struct ConList
{
int *data;//数组
int MaxSize;
int length;
}cl;
void InitList(cl &cl1)
{
cin >> maxdata;
cin >> step1;
cl1.MaxSize = maxdata+1;
cl1.data = new int[maxdata+1];
for (int i = 0; i < maxdata; i++)
{
cin >> cl1.data[i];
}
}
void PrintList(cl &cl1)
{
for (int i = 0; i < maxdata; i++)
{
cout << cl1.data[i] << " " ;
}
}
void InsertElement(cl &cl1)
{
int t;
cin >> t;
int t1;
maxdata = maxdata + 1;
if(t < cl1.data[0])
{
t1 = -1;
}
else if(t > cl1.data[cl1.MaxSize - 2])
{
t1 = cl1.MaxSize - 2;
}
else
{
for (int i = 1; i < cl1.MaxSize - 1; i++)
{
if(t > cl1.data[i] && t <= cl1.data[i+1])
{
t1 = i;
break;
}
}
}
for (int i = cl1.MaxSize + 1; i > t1; i-- )
{
cl1.data[i] = cl1.data[i-1];
}
cl1.data[t1+1] = t;
}
void Del (int t, cl &cl1)
{
maxdata = maxdata - 1;
for (int i = t; i < cl1.MaxSize; i++ )
{
cl1.data[i] = cl1.data[i+1];
}
cl1.MaxSize=cl1.MaxSize-1;
}
void DeleteElement(cl &cl1)
{
int x,y;
cl1.MaxSize=cl1.MaxSize-1;
maxdata = cl1.MaxSize;
cin >> x >> y;
for (int i = 0; i < cl1.MaxSize; i++)
{
if(cl1.data[i]>=x && cl1.data[i] <= y)
{
Del(i,cl1);
i--;
}
}
}
void MoveElement(cl &cl1)
{
int t;
for (int i = 0; i < step1; i++)
{
t = cl1.data[maxdata-1];
for (int i = maxdata-1; i > 0; i--)
{
cl1.data[i] = cl1.data[i-1];
}
cl1.data[0] = t;
}
}
int main()
{
cl test1;
InitList(test1);
//InsertElement(test1);
//DeleteElement(test1);
MoveElement(test1);
PrintList(test1);
system("pause");
}