array growth/shrinkage/reserve system

This commit is contained in:
2025-06-02 20:53:01 -04:00
parent 9321846172
commit 0db503a9f5
23 changed files with 208 additions and 11 deletions

View File

@ -189,6 +189,63 @@ void test_amsarray_sort1()
}
void test_amsarray_insertdelete1()
{
amsarray<int> q;
int I,J,K;
q.insert(0,1);
q.print(); printf("\n");
q.insert(0,2);
q.print(); printf("\n");
q.insert(0,3);
q.print(); printf("\n");
q.insert(-1,1);
q.print(); printf("\n");
q.insert(10,99);
q.print(); printf("\n");
I = 3;
printf("q.find(%d)=%d\n",I,(int)q.find(I));
I = 1;
printf("q.find(%d)=%d\n",I,(int)q.find(I));
I = 5;
printf("q.find(%d)=%d\n",I,(int)q.find(I));
I = 99;
printf("q.find(%d)=%d\n",I,(int)q.find(I));
I = 1;
printf("q.findinsert(%d)=%d\n",I,(int)q.find_insert_ordered(I));
I = -1;
printf("q.findinsert(%d)=%d\n",I,(int)q.find_insert_ordered(I));
I = 5;
printf("q.findinsert(%d)=%d\n",I,(int)q.find_insert_ordered(I));
I = 99;
printf("q.findinsert(%d)=%d\n",I,(int)q.find_insert_ordered(I));
I = 100;
printf("q.findinsert(%d)=%d\n",I,(int)q.find_insert_ordered(I));
q.erase(0);
q.print(); printf("\n");
q.erase(-1);
q.print(); printf("\n");
q.erase(q.length);
q.print(); printf("\n");
q.erase(q.length-1);
q.print(); printf("\n");
q.resize(0);
for(I=0;I<25;I++)
{
J = ams::rand::randint(5,25);
K = q.find_insert_ordered(J);
q.insert(K,J);
q.print(); printf("\n");
}
return;
}

View File

@ -8,7 +8,8 @@ int main(int argc, char* argv[])
//ams::amsmathutil25::test_amsarray1();
//ams::amsmathutil25::test_amsarray2();
//ams::amsmathutil25::test_amsarray_select();
ams::amsmathutil25::test_amsarray_sort1();
//ams::amsmathutil25::test_amsarray_sort1();
ams::amsmathutil25::test_amsarray_insertdelete1();
return ret;
}