| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 776 人关注过本帖
标题:用顺序表和单链表编写
只看楼主 加入收藏
陈颖洁
Rank: 1
来 自:江苏省
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-4-1
结帖率:50%
收藏
 问题点数:0 回复次数:3 
用顺序表和单链表编写
在一个非递减有序线性表中,插入一个值为X的元素,使插入后的线性表仍为非递减有序。分别写出用顺序表和单链表表示时的算法。
搜索更多相关主题的帖子: 线性表 元素 
2011-04-01 15:59
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:0 
这是数据结构里面的基本算法啊,还是多参考书上的伪代码自己写算法吧,很简单的。
2011-04-03 02:13
洪水哥
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-21
收藏
得分:0 
将指向x的指针与线性表中的元素一一比较,找到间于两个元素后,插入就行了
2011-04-21 16:16
枫亭水榭
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2010-10-18
收藏
得分:0 
顺序表
Status InsertSq(SqList &va,ElemType e)
{
    //顺序表va中的元素非递减有序,将x插入到顺序表的适当位置,以保持该表的有序性
   
    ElemType *newbase,*p;
   
    printf("%d\n",e);
    if(va.length>=va.listsize)
    {
        newbase=(ElemType*)realloc(va.elem,(va.listsize+LISTINCREMENT)*sizeof(ElemType));
        if(!newbase)    exit(OVERFLOW);
        va.elem=newbase;
        va.listsize+=LISTINCREMENT;
    }
   
    for(p=va.elem+va.length-1;p>=va.elem;p--)
    {
        if(*p>e)
            *(p+1)=*p;
        else
        {
            *(p+1)=e;
            break;
        }
    }
    va.length++;   
    return OK;
}

单链表
Status ListInsertX_Link(LinkList L,ElemType e)
{
    /*在带头结点的单链表中适当位置之前插入元素e 保持非递减有序/**/
   
   
    LinkList p=L,s;
    while (p->next && p->next->data < e )
    {
        p=p->next;
    }        
    s=(LinkList)malloc(sizeof(struct LNode));
    s->data=e;
    s->next=p->next;
    p->next=s;
    return OK;
}
2011-04-28 00:19
快速回复:用顺序表和单链表编写
数据加载中...
 
   



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

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