admin 管理员组

文章数量: 887021


2024年1月23日发(作者:transport sb to sth)

//删除指定结点p:移动数据int deleteNodeOne(LNode *p){ if(p==NULL){ return 0; } LNode *q = (*p).next; (*p).next = (*q).next; (*p).data = (*q).data; free(q); return 1;}

//删除指定结点p : 循环int deleteNodeTwo(LinkList list,LNode *p){LNode *tmp = list;while(tmp!=NULL&&(*tmp).next!=p){ tmp = (*tmp).next;}

if(tmp==NULL){ return 0;

}(*tmp).next = (*p).next;free(p);return 1;}//按位查找;返回指定位置的结点LNode* getElementByIndex(LinkList list,int index){ LNode *tmp = list; int j = 0; if(index < 0){ return NULL; } while(tmp!=NULL&&jdata); } printf("n最后tmp=%d",(*tmp).next->data); return tmp;}//按值查找 :返回指定值的结点LNode* getElementByData(LinkList list,int data){ LNode *tmp = list; while(tmp!=NULL&&(*tmp).data!=data){ tmp = (*tmp).next; printf("tmp=%d",(*tmp).next->data); }

printf("n最后tmp=%d",(*tmp).next->data); return tmp;}

//表长int getLength(LinkList list){ int length = 0; LNode *tmp = list; while((*tmp).next!=NULL){ tmp = (*tmp).next;

length++; } return length;}

//头插法,建链表void constructLinkListOne(LinkList list){


本文标签: 指定 结点 返回 链表 插法