511 22 33 44 550 21 4
11 22 33 44 55
33 44 55 11 2244 55 11 22 33
- #include
- using namespace std;
- #define ok 0
- #define error -1
-
- class SeqList {
- private:
- int* list;
- int maxsize;
- int size;
- public:
- SeqList() {
- maxsize = 1000;
- size = 0;
- list = new int[maxsize];
- }
- ~SeqList() {
- delete[]list;
- }
-
- void set(int length) {
- this->size = length;
- for (int i = 0; i < length; i++) {
- cin >> *(list + i);
- }//初始化数组
- list_display();
- }
- void list_display() {
- for (int i = 0; i < size; i++) {
- cout << list[i];
- if (i != size - 1) {
- cout << " ";
- }
- }
- cout << endl;
- }
- void list_display2() {
- for (int i = 0; i < size; i++) {
- cout << list[i];
- if (i != size - 1) {
- cout << " ";
- }
- }
- }
- void move(int dir, int step) {
- if (dir == 0) {
- while (step--) {
- int t = 0;
- t = *(list);
- for (int i = 1; i < size; i++) {
- *(list + i - 1) = *(list + i);
- }
- *(list + size - 1) = t;
- }
- }
- else {
- for (int i = size; i >= 0; i--) {
- *(list + i + step) = *(list + i);
- }
- for (int i = 0; i < step; i++) {
- *(list + i) = *(list + i + size);
- }
- }
- }
- };
-
- int main() {
- int t;
- cin >> t;
- SeqList p;
- p.set(t);
- int d, s;
- cin >> d >> s;
- p.move(d, s);
- p.list_display();
- cin >> d >> s;
- p.move(d, s);
- p.list_display2();
- }