Beispiel #1
0
int main(int argc, const char * argv[]) {
    Teacher teacher1 = {11, "Mr Wang", 'M'};
    Teacher teacher2 = {22, "Mr Jiang", 'M'};
    Teacher teacher3 = {33, "Mr Huang", 'M'};
    Teacher teacher4 = {44, "Mr Si", 'M'};
    Teacher teacher5 = {55, "Mr Wu", 'M'};

    SeqList *list = SeqList_Create(100);
    if (!list) return -1;
    //Insert
    SeqList_Insert(list, &teacher1, 0);
    SeqList_Insert(list, &teacher2, 0);
    SeqList_Insert(list, &teacher3, 0);
    SeqList_Insert(list, &teacher4, 0);
    SeqList_Insert(list, &teacher5, 0);
    //print
    for (int i = 0; i < SeqList_Length(list); i ++) {
        Teacher *teacher = (Teacher*)SeqList_Get(list, i);
        printf("ListNode %d name:%s\n", i, teacher->name);
    }
    //delete
    SeqList_Delete(list, 3);
    SeqList_Delete(list, 5);
    //print
    for (int i = 0; i < SeqList_Length(list); i ++) {
        Teacher *teacher = (Teacher*)SeqList_Get(list, i);
        printf("ListNode %d name:%s\n", i, teacher->name);
    }
    SeqList_Clear(list);
    SeqList_Destroy(list);
    return 0;
}
int dynamic_search(SeqList* list, int key)
{
    int ret = -1;
    int i = 0;
    
    for(i=0; i<SeqList_Length(list); i++)
    {
        if( (int)SeqList_Get(list, i) == key )
        {
            ret = i;
            
            SeqList_Delete(list, i);
            
            break;
        }
    }
    
    return ret;
}
int main (void)
{	
		SeqList* list;
		int capacity = 10;
		int array[10] = {1,2,3,4,5,6,7,8,9,10};
		int i = 0;

		list = SeqList_Create(capacity);
		printf("list was empty,length=%d\n",SeqList_Length(list));
		for (i=0; i<10; i++)
		{
				SeqList_Insert(list, &array[i], 0);
				printf("Insert node,length=%d\n",SeqList_Length(list));
		}
		SeqListNode* delnode = SeqList_Delete(list, 4);
		printf("--------del node elem=%d\n",*(int*)delnode);
		SeqList_print(list);
		SeqList_clear(list);
		printf("list was empty,length=%d\n",SeqList_Length(list));
		SeqList_Destory(list);
}
void* SeqQueue_Retrieve(SeqQueue* queue) // O(n)
{
    return SeqList_Delete(queue, 0);
}