コード例 #1
0
ファイル: CLibArray.cpp プロジェクト: DengrongGuan12/poj
void array_append(CArray & array, int key) {
	if (array.size >= array.capacity) {
		array_recap(array, 2 * array.capacity);
	}
	array.buff[array.size] = key;
	array.size++;
}
コード例 #2
0
ファイル: CLibArray.cpp プロジェクト: yilirin/CPPHW1
void array_append(CArray *array,int element){
    if (array->size >= array->capacity ) {
        array_recap(array, array->capacity*2);
    }
    array->p[array->size] = element;
    array->size++;
};
コード例 #3
0
ファイル: CLibArray.cpp プロジェクト: yilirin/CPPHW1
void array_copy(CArray *src,CArray *dst){
    array_recap(dst, src->capacity);
    for (int i = 0; i < src->size; ++i) {
        array_append(dst, *src->p+i);
    }
    
};
コード例 #4
0
ファイル: CLibArray.cpp プロジェクト: DengrongGuan12/poj
void array_insert(CArray & array, int index, int key) {
	if (array.size >= array.capacity) {
		array_recap(array, 2 * array.capacity);
	}
	for (int i = array.size - 1; i >= index; i--) {
		array.buff[i + 1] = array.buff[i];
	}
	array.buff[index] = key;
	array.size++;
}
コード例 #5
0
ファイル: main.cpp プロジェクト: yilirin/CPPHW1
int main()
{
    CArray array;
    array_initial(&array);
    
    array_recap(&array, 10);
    assert(array_capacity(&array) == 10);
    
    //////////////////////////////////////////////////////////////////////////
    for (int i = 0; i < 20; ++i)
    {
        array_append(&array, i);
    }
    assert(array_size(&array) == 20);
    
//    printarray(&array);
    
    for (int i = 0; i < array_size(&array); ++i)
    {
        assert(*array_at(&array, i) == i);
    }
    
    //////////////////////////////////////////////////////////////////////////
    CArray array2, array3;
    array_initial(&array2);
    array_initial(&array3);
    
    array_copy(&array, &array2);

    assert(array_compare(&array, &array2) == true);
    array_copy(&array, &array3);
    assert(array_compare(&array, &array3) == true);
//    printarray(&array2);
    
    //////////////////////////////////////////////////////////////////////////
    array_insert(&array2, 2, 3);
    assert(array_compare(&array, &array2) == false);
//    printarray(&array2);

    
    //////////////////////////////////////////////////////////////////////////
    *array_at(&array3, 2) = 5;
    assert(array_compare(&array, &array3) == false);
//    printarray(&array3);

    //////////////////////////////////////////////////////////////////////////
    array_destroy(&array);
    array_destroy(&array2);
    array_destroy(&array3);
    
    return 0;
}