void testInsertAtN(){ Node *list = makeRandListOfSizeN(100); int vals[] = {16, 1024, 99, -10, -54098}; int poss[] = {0, 40, 22, 99, 32}; // Test insertion into null list Node *test = NULL; test = insertAtN(test, vals[0], poss[0]); assert(test->val == vals[0]); // Insert at various places for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ list = insertAtN(list, vals[i], poss[i]); } // Ensure length is correct assert(getNumElements(list) == 100 + (int)getArrLen(vals)); // Insert random value at end int newRandVal = arc4random(); list = insertAtN(list, newRandVal, getNumElements(list)); DArray arr = arrayify(list); // Ensure that value (plus a couple other inserted ones) are correct assert(arr.contents[arr.size-1] == newRandVal); assert(arr.contents[poss[0]] == vals[0]); assert(arr.contents[poss[2]] == vals[2]); free(arr.contents); delList(list); delList(test); printf(">> Test insert at n completed! <<\n"); }
void testDelList(){ Node *list = NULL; delList(list); list = makeRandListOfSizeN(10); //printList(list); delList(list); list = makeRandListOfSizeN(100); //printList(list); delList(list); printf(">> Test del list completed! <<\n"); }
void testFindElement(){ int vals[] = {0, 3, -153, 33895, 3049, 101010}; int testCases[] = {3, 101010, -10, 0, 15, 1}; bool answers[] = {true, true, false, true, false, false}; assert((int)getArrLen(testCases) == (int)getArrLen(answers)); Node *list= NULL; assert(findElement(list, testCases[0]) == NULL); for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ list = addToHead(list, vals[i]); } for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ Node *temp = findElement(list, testCases[i]); assert((temp != NULL) == answers[i]); printf("Test %d in testFindElement passed!\n", i); } #if DELETE_DEFINED delList(list); #endif printf(">> Test find element completed! <<\n"); }
void delList(Node *l){ if(!l) return; Node *temp = l->next; free(l); delList(temp); }
int _tmain(int argc, _TCHAR* argv[]) { int m = 0; int n = 0; List1Element * head = createList(); printf("enter the quantity of conspects of vasya\n"); scanf ("%d", &m); printf ("now enter chatacteristics of each conspect\n"); for (int i = 0; i < m; i++) { scanf("%d", &n); insertEl(head, n); } n = 0; m = 0; printf("enter the quantity of conspects of petya\n"); scanf ("%d", &m); printf ("now enter chatacteristics of each conspect\n"); for (int i = 0; i < m; i++) { scanf("%d", &n); insertEl(head, n); } printList(head); delList(head); scanf("%*s"); return 0; }
HashTable* delHashTable(HashTable* ht) { int i; for (i = 0; i < ht->size; i++) { ht->listArray[i] = delList(ht->listArray[i]); } free(ht); return NULL; }
void testAddToHead(){ Node *list = NULL; list = addToHead(list, 5); printList(list); list = addToHead(list, 19); printList(list); #if DELETE_DEFINED delList(list); #endif printf(">> Test add to head completed! <<\n"); }
int main() { printf("vvedyte col-vo elementov: \n"); int count = 0; scanf("%d", &count); printf("kakoy dolzhen ostat'sya\n", count); int i = 0; scanf("%d", &i); plst head = NULL; int k = runCount(head, i, count); delList(head); return 0; }
void testGetNumElements(){ int vals[] = {0, 3, -153, 33895, 3049, 101010}; Node *list= NULL; assert(getNumElements(list) == 0); for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ list = addToHead(list, vals[i]); assert(getNumElements(list) == i+1); } #if DELETE_DEFINED delList(list); #endif printf(">> Test get num elements completed! <<\n"); }
void stressTests(){ for(int i = 0 ; i <= 1000 ; i++){ Node *list = makeRandListOfSizeN(i * 1000); delList(list); if(!(i%50)){ printf("Made and deleted list of size %d...\n", i*1000); } } int hellListSize = 10000000; Node *list = makeRandListOfSizeN_bounded(hellListSize, 5000000); printList(list); for(int i = 0 ; i < 5000000 ; i++){ Node *t = findElement(list, i); if(t){ int pos = getNumElements(t->next); printf("Found %d in list at pos %d!\n", i, pos); break; } } for(int i = 0 ; i < 3000 ; i++){ int op = arc4random() % 4; switch(op){ case 0: list = insertAtN(list, arc4random(), arc4random_uniform(hellListSize)); break; case 1: list = deleteAtN(list, arc4random_uniform(hellListSize)); break; case 2: list = changeValueAtN(list, arc4random(), arc4random_uniform(hellListSize)); break; case 3: list = addToTail(list, arc4random()); break; } if(!(i%50)) printf("%d random operations completed...\n", i); } delList(list); }
void testMakeList(){ int testCases[] = {8, 'n', -1, 149327859816738, -583492752983568732}; for(int i = 0 ; i < (int)getArrLen(testCases) ; i++){ Node *list; list = makeList(testCases[i]); printList(list); #if DELETE_DEFINED delList(list); #endif } printf(">> Test make list completed! <<\n"); }
void testAddToTail(){ int vals[] = {0, 3, -153, 33895, 3049, 101010}; Node *list = NULL; for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ list = addToTail(list, vals[i]); } DArray test = arrayify(list); assert(test.size == (int)getArrLen(vals)); for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ assert(test.contents[i] == vals[i]); } free(test.contents); delList(list); printf(">> Test add to tail completed! <<\n"); }
urtBot *endBot(urtBot *bot) { list *pt = NULL; if(bot == NULL) return bot; pt = delList(&(bot->servers)); free(bot); bot = NULL; return bot; }
int _tmain(int argc, _TCHAR* argv[]) { int a = 0; printf("Enter twenty numbers which you want to sort:\n"); List1Element *head = createList(); for (int i = 0; i < 20; i++) { scanf("%d", &a); insertEl(head, a); } head->next = mergeSort(head->next); printf("Sorted: "); printList(head); delList(head); return 0; }
int main(int argc, char **argv) { printf("-- Add entries\n"); addEntry("Nino", "Ninux"); addEntry("Dennis", "Ritchie"); addEntry("Brian", "Kerninghan"); addEntry("Linus", "Torvalds"); addEntry("Richard", "Stallman"); addEntry("Konrad", "Zuse"); printf("-- Dump list\n"); plist(); printf("-- Remove list\n"); delList(); return 0; }
void main(void) { int i = 1; int x = 0; List1Element * head = createList(); intro(); scanf ("%d", &i); while (i) { switch (i) { //case 0: // delList(head); // break; case 1 : printf("enter the value\n"); scanf("%d", &x); insertEl (head, x); break; case 2 : if (isEmpty(head)) printf("sorry it seems to be nothing here\n"); else printf("%d\n", getMin(head)); break; case 3: if (isEmpty(head)) printf("sorry it seems to be nothing here\n"); else printList(head); printf("\n"); break; default: printf("no no no, you're doing it wrong!\n"); } if (i) { intro(); scanf ("%d", &i); } } delList(head); delete head; }
Polygon* cpyPolygon(Polygon* P) { unsigned int i; Polygon* newP; List* vxList = newList(); // Copie des Vertices for(i = 0; i < polyGetVxCount(P); i++) { lstAdd(vxList, cpyVertex(polyGetVertex(P, i))); } // Cas N-Gone if(polyGetCenter(P) != NULL) { newP = polyNGone(*vxList); const DynArr* vxDA = polyGetVertexDA(P); // Ajout des Internals non lié au centre for(i = 0; i < polyGetInternalRdCount(P); i++) { // Si relié au center, ce sera toujours le deuxième vertice (voir constructeur de N-Gone) if(rdGetV2(polyGetInternalRigid(P, i)) != polyGetCenter(P)) polyAddInternal(newP, daGetID(vxDA, rdGetV1(polyGetInternalRigid(P, i))), daGetID(vxDA, rdGetV2(polyGetInternalRigid(P, i))), -1); } } else { // Cas classique newP = newPolygonL(*vxList); const DynArr* vxDA = polyGetVertexDA(P); for(i = 0; i < polyGetInternalRdCount(P); i++) { polyAddInternal(newP, daGetID(vxDA, rdGetV1(polyGetInternalRigid(P, i))), daGetID(vxDA, rdGetV2(polyGetInternalRigid(P, i))), -1); } } newP->Fixed = polyIsFixed(P); delList(vxList); return newP; }
int main() { setlocale(0,""); char buffer[SIZE_buff]; // буферная строка List queue; // список записей int ch; // переменная выбора queue.first = queue.last = NULL; // инициализация списка for (;;) { // меню fflush(stdin);//Очистка буфера клавиатуры printf("1. Создание списка\n"); printf("2. Просмотр телефонной книги \n"); printf("3. Сохранить\n"); printf("4. Загрузить из файла\n"); printf("5. Вывести список\n"); printf("0. Выйти\n"); printf("Введите команду: "); fgets(buffer, SIZE_buff, stdin); sscanf(buffer, "%d", &ch); switch (ch) { case 1: add(queue); // добавить в список break; case 2: Vivod(queue); // вывод списка на экран break; case 3: save(queue); // сохранить в файл break; case 4: load(queue); // загрузить из файла break; case 5: VivodList(queue); // вывод списка break; case 0: delList(queue); // удалить список return 0; } } }
void main(int argc, char *argv[]){ time_t pIntTime = time(NULL); struct tm* currentLocalTime = localtime(&pIntTime); char* dateTimeString = calloc(101, sizeof(char)); if (currentLocalTime && dateTimeString) strftime(dateTimeString, 100, "%H:%M:%S", currentLocalTime); printf("%s", dateTimeString); clock_t t1 = clock(); list lst; lst.prvi = lst.posl = lst.tek = NULL; FILE *input, *output; if ((input = fopen(argv[1], "r")) == NULL){ fprintf(stderr, "%s:greska u otvaranju datoteke %s", argv[0], argv[1]); exit(1); } load(&lst, input); process(&lst, argv[3]); if ((input = fopen(argv[2], "w")) == NULL){ fprintf(stderr, "%s:greska u otvaranju datoteke %s", argv[0], argv[1]); exit(1); } save(&lst, input); delList(&lst); clock_t t2 = clock(); printf("\nVreme izvrsavanja programa je : %10.6lf\n", (double)(t2 - t1) / CLOCKS_PER_SEC); pIntTime = time(NULL); currentLocalTime = localtime(&pIntTime); strftime(dateTimeString, 100, "%H:%M:%S", currentLocalTime); printf("%s\n", dateTimeString); free(dateTimeString); system("pause"); }
void testChangeValueAtN(){ int vals[] = {16, 1024, 99, -10, -54098}; int poss[] = {0, 40, 22, 99, 32}; Node *list = makeRandListOfSizeN(100); changeValueAtN(list, 0, -1); // Should cause an error in your way of choice! changeValueAtN(list, 0, 300); for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ changeValueAtN(list, vals[i], poss[i]); } DArray arr = arrayify(list); for(int i = 0 ; i < (int)getArrLen(vals) ; i++){ assert(arr.contents[i] == arr.contents[i]); printf("Test %d in testChangeValueAtN passed!\n", i); } free(arr.contents); delList(list); printf(">> Test change value at n completed! <<\n"); }
void tearDown(void) { if (NULL != list1) delList(list1); }