| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:算法中的一个问题,看不懂!
只看楼主 加入收藏
qhmzq
Rank: 1
等 级:新手上路
帖 子:21
专家分:6
注 册:2009-9-27
结帖率:100%
收藏
 问题点数:0 回复次数:1 
算法中的一个问题,看不懂!
   Status ListInsert_Sq(SqList &L, int i,ElemType e) {
       if(i<1||i>L.length+1) return ERROR;
       if(L.length>=L.listsize) {
           newbase = (ElemType * )realloc(L.elem;
                                 (L.listsize+LISTINCREMENT)*sizeof (ElemType);
           if (! newbase)exit(OVERFLOW);
           L.elem = newbase;
           L.listsize += LISTINCREMENT;
        }
        q = & (L.elem[i-1]);
        for(p = & (L.elem[L.length-1];p>= q; --p)*(p+1) = *p

         *q = e;
        ++L.length;
        return ok;
    }//ListInsert_Sq
                            刚学数据结构 麻烦大家帮我解释红色部分的含义,  小弟先谢谢了 ,刚学数据结构 算法中有很多都看不懂。
                           这是严蔚敏课本上的一个算法。
搜索更多相关主题的帖子: 算法 
2009-10-07 20:14
qt765765
Rank: 1
等 级:新手上路
帖 子:5
专家分:9
注 册:2009-10-8
收藏
得分:0 
           newbase = (ElemType * )realloc(L.elem;
                                 (L.listsize+LISTINCREMENT)*sizeof (ElemType);
           if (! newbase)exit(OVERFLOW);
           L.elem = newbase;
若原来分配的空间已满,则重新分配空间,分配空间的长度为原来的长度加上LISTINCREMENT(每次增加的长度)
        q = & (L.elem[i-1]);
        for(p = & (L.elem[L.length-1];p>= q; --p)*(p+1) = *p
将第i个位置及以后的数据全部向后移动一个位置,然后将第i个位置赋值为e
2009-10-08 16:48
快速回复:算法中的一个问题,看不懂!
数据加载中...
 
   



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

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