链表
2018/06/30 21:35:
手打的,使用了new和delete。
#include<bits/stdc++.h> using namespace std; struct LinkNode{ int data; LinkNode* nextdata; }; void addLink(LinkNode* node,int data){ LinkNode* next = new LinkNode; next->data = data; node->nextdata = next; }; void deleteLink(LinkNode* node,int n){ LinkNode* totnode = node; for (int i=1;i<n;i++){ if (totnode->nextdata!=NULL){ totnode = totnode->nextdata; } else{ printf("an error occoured."); } } //now should at the nth node //free the node delete totnode; } void traverseLink(LinkNode* start){ LinkNode* tot = start; int count=1; while (tot->nextdata!=NULL){ printf("%d:%d\n",count,tot->data); count++; } printf("traverse completed."); } int main(){ LinkNode* first = new LinkNode; first->data = 1; traverseLink(first);//这里clang提示有memory leak的危险? }
还未测试,仅供参考。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
No sacrifice , no victory.