算法之单向链表
1 链表结构体
/*结构体*/ typedef struct _link_node { struct _link_node* next; int data; }link_node;
- 注意点
- 定义结构体时,最好的顺序是由大到小的顺序定义结构体成员,如上,我先定义了
一个指针类型,然后又定义了一个 int类型变量,它会占用16个字节,如果你顺序
调过来,还是16个字节,但是它的效率会低很多,为什么会这样了?请看数据对齐相
关内容; 《数据对齐详解》
2 创建链表
/*1.创建链表*/ link_node* creat_node(int value) { link_node* pLinkNode; pLinkNode = (link_node*)malloc(sizeof(link_node)); if(NULL ==pLinkNode) printf("Failt"); pLinkNode->data = value; pLinkNode->next = NULL; return pLinkNode; }