本文共 1417 字,大约阅读时间需要 4 分钟。
#include #include #include #include #include #include #include #include #include #include using namespace std;//链表的数据结构struct ListNode{ int value; ListNode* next; ListNode () {}; //赋值构造函数 ListNode (int v) : value(v),next(NULL){};};// 函数头声明ListNode* arraytolist (vector a);void printlist(ListNode* fir);void insert(ListNode* p, int poi,int in);void deletenode(ListNode* p, int poi);void selectionsort(ListNode* p);// 按下F6进行编译int main(){ //创建一个链表(2,1,4,3,0,4,-1) vector a({2,1,4,3,0,4,-1}); ListNode* b=arraytolist(a); insert(b,2,-10); deletenode(b,2); printlist(b); return 0;}// 根据数组创建一个链表ListNode* arraytolist (vector a){ ListNode* p=new ListNode(a[0]); ListNode* fir=p; for(int i=1;i next=new ListNode(a[i]); p=p->next; } return fir;}//遍历并打印一个链表void printlist(ListNode* fir){ while(fir!=NULL) { cout << fir->value << ' '; fir=fir->next; } cout << endl;}//插入一个节点(后插入)void insert(ListNode* p , int poi ,int in){ if(poi<0 ) return; while((0 < poi--) ) { if(p->next != NULL) p=p->next; else break; } ListNode* mi=new ListNode(in); mi->next=p->next; p->next=mi; }// 删除节点void deletenode(ListNode* p, int poi){ if(poi<0) return ; while(0 < poi--) { if(p->next !=NULL) p=p->next; else break; } if(p->next !=NULL) { ListNode *tmp=p->next; p->next=tmp->next; delete tmp; }}
转载于:https://www.cnblogs.com/yskn/p/10446024.html