|
// |
|
// DoubleLinkTest.c |
|
// DataStructureAndAlgorithm |
|
// |
|
// Created by wanyakun on 2016/10/27. |
|
// Copyright © 2016年 com.ucaiyuan. All rights reserved. |
|
// |
|
|
|
#include "DoubleLink.h" |
|
|
|
|
|
/** |
|
双向链表操作int数据 |
|
*/ |
|
void intTest() { |
|
int array[4] = {10, 20, 30, 40}; |
|
|
|
printf("\n----%s----\n", __func__); |
|
createDLink(); |
|
|
|
insertData(0, &array[0]); |
|
insertData(0, &array[1]); |
|
insertData(0, &array[2]); |
|
|
|
printf("DLink is empty = %d\n", isDLinkEmpty()); |
|
printf("DLink size = %d\n", dLinkSize()); |
|
|
|
//打印全部数据 |
|
for (int i = 0; i < dLinkSize(); i++) { |
|
char *p = (char *)getNodeData(i); |
|
printf("DLink data at index %d = %s\n", i, p); |
|
} |
|
|
|
destroyDLink(); |
|
} |
|
|
|
void stringTest() { |
|
char *array[4] = {"ten", "twenty", "thirty", "forty"}; |
|
|
|
printf("\n----%s----\n", __func__); |
|
createDLink(); |
|
|
|
insertData(0, &array[0]); |
|
insertData(0, &array[1]); |
|
insertData(0, &array[2]); |
|
|
|
printf("DLink is empty = %d\n", isDLinkEmpty()); |
|
printf("DLink size = %d\n", dLinkSize()); |
|
|
|
//打印全部数据 |
|
for (int i = 0; i < dLinkSize(); i++) { |
|
char *p = (char *)getNodeData(i); |
|
printf("DLink data at index %d = %s\n", i, p); |
|
} |
|
|
|
destroyDLink(); |
|
} |
|
|
|
typedef struct Student { |
|
int id; |
|
char name[20]; |
|
} STU; |
|
|
|
static STU stuArray[] = { |
|
{10, "Jack"}, |
|
{20, "Tom"}, |
|
{30, "Willam"}, |
|
{40, "Lucy"}, |
|
}; |
|
|
|
#define STU_ARRAY_SIZE (sizeof(stuArray) / sizeof(stuArray[0])) |
|
|
|
void objectTest() { |
|
|
|
printf("\n----%s----\n", __func__); |
|
createDLink(); |
|
|
|
insertData(0, &stuArray[0]); |
|
insertData(0, &stuArray[1]); |
|
insertData(0, &stuArray[2]); |
|
|
|
printf("DLink is empty = %d\n", isDLinkEmpty()); |
|
printf("DLink size = %d\n", dLinkSize()); |
|
|
|
//打印全部数据 |
|
for (int i = 0; i < dLinkSize(); i++) { |
|
STU *p = (STU *)getNodeData(i); |
|
printf("DLink data at index %d = [%d, %s]\n", i, p->id, p->name); |
|
} |
|
|
|
destroyDLink(); |
|
} |
|
|
|
int main(int argc, char const *argv[]) |
|
{ |
|
intTest(); |
|
stringTest(); |
|
objectTest(); |
|
return 0; |
|
} |
|
|