| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6084 人关注过本帖
标题:设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上 ...
取消只看楼主 加入收藏
RT0000
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2012-10-15
结帖率:100%
收藏
 问题点数:0 回复次数:0 
设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性
先建立一个待插入的结点,然后依次与与链表中的各结点的数据域比较大小,找到插入该结点的位置,最后插入该结点。
算法如下:
    void inorderList (LinkList *&L, ElemType x) {
        LinkList *s, *p, *q;
        s = (LinkList *)malloc(sizeof(LinkList));   //  建立一个待插入的结点
        s->data = x; s->next = NULL;
        if (L == NULL || x<L->data)                 //  若单链表为空或x小于第一个结点的data域
        {
               s->next = L;                         //  把*s结点插入到头结点之后
               L = s;
         }else {
              q = L;                                //  寻找插入位置,p指向待比较的结点,q指向p的前驱结点
              p = q->nest;
              while (p != NULL && x>p->data) {      //  若x大于p所指结点的data域值  
                    q = p;
                    p = p->next;
              }
                  s->next = p;                      //  将s结点插入到*q和*p之间
                  q->next = s;
         }
    }
搜索更多相关主题的帖子: 元素 
2012-10-15 13:12
快速回复:设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011089 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved