当前位置: 首页 > news >正文

网页设计学校网站为企业做贡献的文章

网页设计学校网站,为企业做贡献的文章,底湘西网站建设,seo网站推广公司单链表一种以链接方式存储的线性表#xff0c;适用于频繁增删操作#xff0c;存储空间不定的情形。单链表的一个存储结点包含两个域#xff0c;数据域和指针域。数据域用于存储线性表的一个数据元素#xff0c;指针域用于指示下一个结点开始的存储地址。链表第一个结点的地…  单链表一种以链接方式存储的线性表适用于频繁增删操作存储空间不定的情形。单链表的一个存储结点包含两个域数据域和指针域。数据域用于存储线性表的一个数据元素指针域用于指示下一个结点开始的存储地址。链表第一个结点的地址可通过头指针找到其他结点的地址则在前驱结点的指针域中最后一个结点没有后继用NULL终结。为了操作的方便习惯上单链表带一个头结点也就是first指向的第一个结点不存放任何数据从第二个结点开始存放数据。由于指针域的存在数据元素的顺序与物理存储顺序可能不一致。定义与封装//结点的定义struct LinkNode {        //链表结点类的定义int data;           //数据域    LinkNode *link;     //链指针域    LinkNode() { link  NULL; }     //构造函数    LinkNode(int item, LinkNode *ptr  NULL)    { data  item;  link  ptr; }     //构造函数};//链表操作封装class List{protected:LinkNode *first;     //表头指针头结点public:    List() { first  new LinkNode; }  //构造函数    List(int x) { first  new LinkNode(x); }    ~List(){ }                  //析构函数void inputFront (int val);LinkNode *Search(int x);    //搜索含x元素LinkNode *Locate(int i);    //返回第i个元素地址bool Insert (int i, int x); //在第i元素后插入bool Remove(int i, int x); //删除第i个元素bool IsEmpty() const         //判表空否{ return first-link  NULL ? true : false; }void show();};带附加头结点的插入操作1、newnode-link p-link; 2、p-link newnode;注意图中标1和2的位置与代码相结合//将新元素 x 插入在链表中第 i 个结点之后。bool List::Insert (int i, int x) {    LinkNode *current  Locate(i);if (current  NULL) return false;   //无插入位置 LinkNode *newNode  new LinkNode(x); //创建新结点    //图中标识的1处在不破坏原链表的情况下让新结点先链入    newNode-link  current-link;       //链入    //图中标识的2处接到新结点    current-link  newNode;            return true;                }带附加头结点的查找操作查找过程就是从第一个结点开始不断沿着link域寻到和所需值相同的结点//在表中搜索含数据x的结点, 搜索成功时函数返//该结点地址; 否则返回NULL。LinkNode *List::Search(int x) {     LinkNode *current  first-link;while( current ! NULL  current-data ! x )              current  current-link;    //沿着链找含有x的结点return current;}带附加头结点的删除操作1、q p-link;2、p-link q-link;3、delete q; //删除链表第i个元素, 通过引用参数x返回元素值bool List::Remove (int i, int x ) {//图中指针p    LinkNode *current  Locate(i-1);if(current  NULL || current-link  NULL)   return false;     //删除不成功      //图中指针q    LinkNode *del  current-link;     //图中操作2p的link指向指针q的link指向的域越过q    current-link  del-link;    x  del-data;    //脱节的q可以直接删除   delete del; return true;}附加头结点的单链表创建一般单链表的创建可采用前插法或者尾插法前插法就是每来一个新的结点就把这个结点插在头结点的后面。尾插法就是每来一个新的结点就把这个结点插在链表最后一个结点的后面相比前插法需要设置一个尾指针。实现插入过程和链表的插入操作几乎无区别。void List::inputFront (int val) {    LinkNode *newNode  new LinkNode;if(newNodeNULL) return;    newNode  new LinkNode(val);newNode-link  first-link;      //插在表前端    first-link  newNode;}优点长度很容易方便扩充。缺点存储空间上多了指针域存储空间代价比顺序表大。至于带附加头节点和不带附加头节点的好处看过书的同学都知道前者的增删操作更简练代码https://github.com/xiaoYaChh/datastructure.git参考资料数据结构第二版殷人昆清华大学出版社
http://www.pierceye.com/news/686245/

相关文章:

  • 做推广什么网站便宜企业网站管理系统湖南岚鸿
  • 电影下载网站 怎么做flash翻页效果网站模板
  • 社交网站开发语言河北建设工程信息网首页
  • 上海营销型网站建设公司wordpress 自己做页面
  • 网站布局选择临淄信息网手机版
  • 怎样申请网站呢注册商标怎么注册商标
  • 网站地址英文不相关的网站做单项链接可以吗
  • 怎么做网站超链接wordpress 主题 设置
  • 手机电影网站建设如何做网站域名备案
  • 重庆手机网站推广价格网络营销论文参考文献
  • 如何给网站添加搜索关键字做流量网站有收入吗
  • 购物网站的英文如何不让百度收录网站
  • 上海定制网站建设公司哪家好建立公司官网
  • jsp电影网站开发教程滁州网站建设梦天堂
  • 网站建设哪个好一些网站服务器证书有问题
  • 广东省广州市白云区钟落潭镇优化什么建立生育支持政策体系
  • wordpress+代码质量哈尔滨百度seo代理
  • 北京模板网站建设全包中国招标与采购网官网
  • 戴尔公司网站建设成功的关键是什么永久网站
  • 上海青浦做网站做分销网站系统
  • 互联网公司网站建设的目的王烨演员
  • 网站开发图片加载慢如皋建设网站
  • 国家示范校建设成果网站wordpress文章图片alt
  • asp.net网站开发技术物流专线网站建设
  • 免费网站流量统计工具线下推广方法及策略
  • 西安市社交网站制作公司网站建设的参考文献
  • 企业网站内容建设网站开发小程序开发
  • 个人个案网站 类型wordpress群组
  • 微网站建设深圳英文站seo
  • 做网站要钱么网站建设备案多长时间