Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by minhkhanh ( 5 years ago )
#include<iostream>
#include<string>
#include<vector>
using namespace std;
#define max_size 1000
#define rate_to_expand 2
int* initialize(int &maxsize) {
int *a= new int[maxsize];
return a;
}
int* growSize(int* array, int size, int& maxSize) {
maxSize = maxSize * rate_to_expand;
int* newarray = new int[maxSize];
for (int i = 0; i < size; ++i) {
newarray[i] = array[i];
}
if (array != NULL) delete[]array;
return newarray;
}
void addElement(int*& array, int data, int& size, int& maxSize) {
if (size + 1 > maxSize) {
array = growSize(array, size, maxSize);
}
size = size + 1;
array[size - 1] = data;
}
void swapvalue(int* x, int* y) {
int temp = *x;
*x = *y;
*y = temp;
}
void addElementAtIndex(int* &array, int index, int data, int& size, int& maxSize) {
if (index > size)return;
addElement(array, data, size, maxSize);
for (int i = size - 1; i >= index; i--) {
swapvalue(array + i, array + i - 1);
}
}
int* shrinkArray(int* array, int size, int& maxSize) {
int* newarray = new int[size];
for (int i = 0; i < size; i++) {
newarray[i] = array[i];
}
delete[]newarray;
}
void removeElementAtIndex(int* array, int index, int& size, int maxSize) {
for (int i = index + 1; i < size; i++) {
array[i - 1] = array[i];
}
size--;
}
void printArray(int* array, int size) {
for (int i = 0; i < size; ++i) {
cout << *array << endl;
array += 1;
}
}
int main() {
}
Revise this Paste