从C和指针这本书中学到的优化插入函数写法:
#include<stdio.h> typedef struct Node{ int value; struct Node*link; }Node; int sll_insert(Node **linkp,int new_value){ Node *current=*linkp; while(current!=NULL&¤t->value<new_value) { linkp=¤t->link; current=current->link; } Node* new=(Node*)malloc(sizeof(Node)); new->value=new_value; new->link=current; *linkp=new; } void pr(Node*p){ while(p!=NULL) { printf("%d ",p->value); p=p->link; } } int main(int argc, char *argv[]) { int i=10; Node *root; for(;i>=0;--i) sll_insert(&root, i); pr(root); return 0; }
输出结果如下:
时间: 2024-11-01 22:05:40