struct list_node * creat_list(int num[], int size) { int i = 0; struct list_node *list = NULL; struct list_node *lastnode = NULL; for (i = 0; i < size; i++) { struct list_node *newnode = NULL; newnode = (struct list_node *)malloc(sizeof(struct list_node)); if (newnode == NULL) { destory_list(list); } newnode->item = num[i]; newnode->next = NULL; if (i == 0) { list = newnode; } else { lastnode->next = newnode; } lastnode = newnode; } return list; }
int main(int argc, char *argv[]) { single_list_pt list = NULL; data_type data; list_node_pt tmp; list = create_list(); show_menu(); while (1) { switch (select_menu()) { case 'm': show_menu(); break; case 'i': printf("Enter data:"); scanf("%d%*c", &data); insert_node_front(list, data); break; case 's': printf("List:"); show_datas(list); break; case 'x': printf("Enter node data:"); scanf("%d%*c", &data); tmp = search_node(list, data); if (NULL != tmp) delete_node(list, tmp); else printf("Node %d not found\n", data); break; case 'l': printf("len = %d\n", list_len(list)); break; case 'q': exit(0); break; case 'd': destory_list(list); break; default: show_menu(); break; }; } return 0; }
int main(int argc, char const *argv[]) { int array[10] = {7, 4, 1, 2, 3, 0, 6, 9, 8, 5}; struct list_node *list = NULL; struct list_node *node = NULL; list = creat_list(array, 10); display_list(list); node = find_nth2last(list, 2); if (node != NULL) { printf("nth to last item = %d\n", node->item); } destory_list(list); return 0; }
int main (void) { char data[20] ; Node head = {0,NULL} ; fgets(data , sizeof (data) , stdin) ; data[strlen(data)-1] = 0 ; create_list (&head , data) ; show_list (&head); int k ; scanf ("%d",&k) ; del_kth_node (&head , k); show_list (&head) ; destory_list (&head) ; return 0 ; }
int main(int argc, char const *argv[]) { struct LinkList* list = create_list(); append_list(list, 1); insert_list(list, 2, 0); push_list(list, 10); show_list(list); int data = pop_list(list); printf("pop data is %d\n", data); show_list(list); push_list(list, 10); push_list(list, 11); push_list(list, 10); push_list(list, 11); show_list(list); remove_list(list, 1); show_list(list); remove_data_list(list, 10); show_list(list); remove_all_data_list(list, 11); show_list(list); struct Node* node = get_node_list(list, 0); printf("data is %d\n", node->data); int index = search_list(list, 2); printf("index is %d\n", index); destory_list(list); return 0; }
int linearlist_test() { linearlist *ll = (linearlist *)calloc(1, sizeof(linearlist)); STATUS status = init_list(ll); if(status != SUCC){ printf("初始化线性表失败 \n"); return -1; } append_list(ll, 1); append_list(ll, 2); append_list(ll, 3); insert_list(ll, 2, 10); append_list(ll, 100); //遍历线性表 if(!empty_list(ll)){ int _i = 0; for(; _i<ll->length; _i++){ printf( "list[%d] = %d \n", _i, *(ll->elem+_i) ) ; } } BOOL flag = traverse_list(ll, increment); if(flag) printf("all complte \n"); else printf("someone not invoke, please check \n"); //遍历线性表 if(!empty_list(ll)){ int _i = 0; for(; _i<ll->length; _i++){ printf( "list[%d] = %d \n", _i, *(ll->elem+_i) ) ; } } /* int del_index = 3; ELE_TYPE r; status = delete_list(ll, del_index, &r); if(status == SUCC){ printf("delete index %d ok , the value is %d \n", del_index, r); //遍历线性表 if(!empty_list(ll)){ int _i = 0; for(; _i<ll->length; _i++){ printf( "list[%d] = %d \n", _i, *(ll->elem+_i) ) ; } } } */ /* ELE_TYPE r , search = 100; BOOL flag = prior_elem(ll, search, &r) ; if(flag) printf("%d prev is %d \n", search, r); else printf("not found or first point %d \n", search); search = 2; flag = next_elem(ll, search, &r); if(flag) printf("%d next is %d \n", search, r); else printf("not found or last point %d \n", search); */ /* //获取一个元素 ELE_TYPE val = 0; BOOL flag = get_item_list(ll, 2, &val); if(flag){ printf("%d \n", val); } */ //clear_list(ll); /* //获取某值在线性表中首次出现位置 ELE_TYPE search = 20; printf("please entry a integer : "); scanf("%d", &search); int f_index = locate_elem(ll, search, compare_callback); if(f_index!=0){ printf("%d locate is %d \n", search, f_index); }else{ printf("%d not found \n", search); } */ destory_list(ll); return 0; }
static int cleanup_suite(void) { destory_list(ps_list); return CUE_SUCCESS; }