博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++实现单向链表的一些操作
阅读量:4323 次
发布时间:2019-06-06

本文共 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

你可能感兴趣的文章
【转载】OmniGraffle (一)从工具栏开始
查看>>
初识ionic
查看>>
java 中打印调用栈
查看>>
开发 笔记
查看>>
数据挖掘算法比赛 - 简单经验总结
查看>>
生成商户订单号/退款单号
查看>>
使用Android OpenGL ES 2.0绘图之六:响应触摸事件
查看>>
我们过去几年做对了哪些事
查看>>
ubuntu 16.04LTS
查看>>
javascript深入理解js闭包
查看>>
Oracle的安装
查看>>
Android Socket连接PC出错问题及解决
查看>>
Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
查看>>
第2天线性表链式存储
查看>>
python自动化测试-D11-学习笔记之一(yaml文件,ddt)
查看>>
mysql存储过程使用游标循环插入数据
查看>>
Ubuntu 12.04 添加新用户并启用root登录
查看>>
20145309信息安全系统设计基础第9周学习总结上
查看>>
c# 字段、属性get set
查看>>
td内容超出隐藏
查看>>