微信可以怎么创建账户网站,做网站公司东莞,电源 东莞网站建设,网站关键词怎么做1、整理思维导图 2、整理课上单向循环链表的代码 3、完成双向链表的剩下四个功能 2、
node_p create_list()//创建链表 { node_p p(node_p)malloc(sizeof(node)); if(pNULL) { printf(申请失败\n); return NULL; } p-len…1、整理思维导图 2、整理课上单向循环链表的代码 3、完成双向链表的剩下四个功能 2、
node_p create_list()//创建链表 { node_p p(node_p)malloc(sizeof(node)); if(pNULL) { printf(申请失败\n); return NULL; } p-len0; p-nextp; return p; } node_p create_node(datatype data)//申请结点 { node_p p(node_p)malloc(sizeof(node)); if(pNULL) { printf(申请失败\n); return NULL; } p-datadata; return p; } int empty_list(node_p p)//判空 { if(pNULL) return -1; return p-len0; } void insert_head(node_p p,datatype data)//头插 { if(pNULL) return; node_p qcreate_node(data); p-nextq; p-len; } void dele_head(node_p p,datatype data)//头删 { if(pNULL||empty_list(p)) return; node_p qp-next; p-nextq-next; free(q); qNULL; p-len--; } void insert_tail(node_p p,datatype data)//尾插 { if(pNULL) return; node_p qp; while(p-next!q) { pp-next; } p-nextcreate_node(data); q-len; } void dele_tail(node_p p)//尾删 { if(pNULL||empty_list(p)) return; node_p qp; while(p-next-next!q) { pp-next; } free(p-next); p-nextq; q-len--; } void insert_pos(node_p p,datatype data,int pos)//按位置插入 { if(pNULL||pos0||posp-len-1) return; node_p qp; for(int i0;ipos;i) { pp-next; } node_p rp-next; p-nextcreate_node(data); p-next-nextr; q-len; } void dele_pos(node_p p,int pos)//按位置删除 { if(pNULL||empty_list(p)||pos0||posp-len-1) return; node_p qp; node_p rp-next-next; for(int i0;ipos;i) { pp-next; } free(p-next); p-nextr; q-len--; } void show_list(node_p p)//输出 { if(pNULL||empty_list(p)) return; node_p qp; pp-next; while(p-next!q) { printf(%d-,p-data); pp-next; } } node_p DeleHead(node_p p)//删除头结点 { if(pNULL) return NULL; node_p qp; while(p-next!q) { pp-next; } p-nextq-next; free(q); qNULL; return p-next; } void show_nohead_list(node_p p)//输出无头结点的链表 { node_p qp; do{ printf(%d-,p-data); pp-next; }while(p!q); }
3、