linux c 链表源码,Linux C链表

/*

linklist.c

*

*  Created on: 2013年11月12日

*

*/

#include "linklist.h"

void add(int val){

Node *v = malloc(sizeof(Node));

v->value = val;

if(head == NULL){

head = v;

return;

}

Node* current = head;

while(1){

if(current->next == NULL){

current->next = v;

break;

}

current = current->next;

}

size++;

//   printf("the size of linklist:%d",size);

}

void travel(){

Node* current = head;

do{

printf("%d\n",current->value);

}while((current = current->next)!=NULL);

}

int del(Node *node){

return -1;

}

Node* get(int i){

printf("the size:%d\n",size);

if(i >= size){

printf("array out of index\n");

return NULL;

}

Node* current = head;

int index = 0;

while(index != i){

current = current->next;

if(++index == i) break;

}

printf("-----------------\n");

return current;

}

void destroy(){

Node* current = head;

Node* nt = NULL;

while(current != NULL){

nt = current->next;

free(current);

current = nt;

}

}

int length(){

return size;

}

int main(){

int j = 0;

for(;j<10;j++)

add(j+1);

travel();

destroy();

return -1;

}

头文件  linklist.h

/* linklist.h  *  *  Created on: 2013年11月12日  *        */ #ifndef LINKLIST_H_ #define LINKLIST_H_ #include #include #include /****************  * the node of the linklist  */ typedef struct LinkNode{ int value; struct LinkNode *next; }Node; /****************  * represent the linklist  */ static Node *head = NULL; static unsigned int size = 1; /*****add Node******/ void add(int val); /*******remove node****/ int del(Node *node); /*******get Node***/ Node* get(int i); /******create link*/ void destroy(); /*******travel*****/ void travel(); /*****the size of linklist***/ int length(); #endif /* LINKLIST_H_ */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值