本文共 3155 字,大约阅读时间需要 10 分钟。
??????????????????????????????????????????
????????????? Node???????? data ???? next?LinkedList ??? Node ??????????????
typedef struct Node{ int data; Node* next;}Node,*LinkedList; ???????? LinkedListInit ???????????????????
LinkedList LinkedListInit(){ Node* L; L = (Node*)malloc(sizeof(Node)); if (L == NULL) { cout << "?????????" << endl; } return L;} L = (Node*)malloc(sizeof(Node)); ???? Node ???L ???????????????L ??????????????????????????
int main(){ LinkedList p; p = LinkedListInit(); p->data = 5; cout << p->data; free(p); return 0;} ?????????????
LinkedList LinkedListCreatH(){ Node* L = LinkedListInit(); L->next = NULL; int x; while (scanf("%d", &x) != EOF) { Node* p; p = (Node*)malloc(sizeof(Node)); p->data = x; p->next = L->next; L->next = p; } return L;} LinkedListInit ?????????? next ? NULL?scanf ????????? EOF?p???????????next ????? p????????????
LinkedList LinkedListCreatH(){ Node* L = LinkedListInit(); L->next = NULL; Node* r; r = L; int x; while (scanf("%d", &x) != EOF) { Node* p; p = (Node*)malloc(sizeof(Node)); p->data = x; r->next = p; r = p; } r->next = NULL; return L;} L???? next ?? NULL?r?r ????? L?EOF?p ?????????? r ???? p?r ? next ?? NULL??????????????????????
LinkedList LinkedListInsert(LinkedList L, int i, int x){ Node* pre; pre = L; int tempi = 0; for (tempi = 1; tempi < i; tempi++) { pre = pre->next; } Node* p; p = (Node*)malloc(sizeof(Node)); p->data = x; p->next = pre->next; pre->next = p; return L;} pre??????? L ???pre?p?pre->next ????? p?p->next ?? pre->next?????????????
LinkedList LinkedListDelete(LinkedList L, int i){ if (i < 1) cout << "???????1?????" << endl; Node* pre; pre = L; int tempi = 0; for(tempi = 1;tempi < i;tempi++) { pre = pre->next; } Node* p = pre->next; pre->next = p->next; free(p); return L;} i ????????pre?????????????????? pre?p?p ? pre ???????pre->next ?? p->next???? p?free ???? p?int main(){ cout << "??????????"; LinkedList list, start; list = LinkedListCreatH(); for (start = list->next; start != NULL; start = start->next) { cout << start->data << endl;} int main(){ cout << "??????????"; LinkedList list, start; list = LinkedListCreatH(); for (start = list->next; start != NULL; start = start->next) { cout << start->data << endl;} int main(){ cout << "??????????"; LinkedList list, start; list = LinkedListCreatH(); LinkedListInsert(list, 3, 5); for (start = list->next; start != NULL; start = start->next) { cout << start->data << endl;} int main(){ cout << "??????????"; LinkedList list, start; list = LinkedListCreatH(); LinkedListDelete(list, 3); for (start = list->next; start != NULL; start = start->next) { cout << start->data << endl;} ?????????????????????????????????????????????????????????????????????????????????
转载地址:http://rjjz.baihongyu.com/