| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 291 人关注过本帖
标题:线性表顺序存储结构出了问题
只看楼主 加入收藏
wolf赵帅
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-8
结帖率:50%
收藏
 问题点数:0 回复次数:0 
线性表顺序存储结构出了问题
#include <stdio.h>
#include <stdlib.h>
#define Listinitsize 100
#define Listincrement 10
typedef struct {
    int *elem;
    int length;
    int listsize;
}Sqlist;
int InitList_Sq(Sqlist *L)
{
    L->elem=(int *)malloc((Listinitsize) * sizeof(int));
    if(! L->elem)return(-1);
    L->length=0;
    L->listsize=Listinitsize;
    return 1;
}
int ListInsert_Sq(Sqlist *L,int i,int e)
{
    int *p,*q,*base;
    if(i<1||i>L->length+1)return 0;
    if(L->length>=L->listsize){
        base =(int *)realloc(L->elem,(L->listsize+Listincrement) *sizeof(int));
        if(! base)return -1;
        L->elem=base;
        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 1;
    }
int ListDelete_Sq(Sqlist *L,int i)
{
    int *p,*q;
    if((i<1)||(i>L->length))return (-1);
    p=&(L->elem[i-1]);
    q=L->elem+L->length-1;
    printf("the deleted elem is %d \n",L->elem[i-1]);
    for(++p;p<=q;++p)
    *(p-1)=*p;
    --L->length;
    return 1;
    }
void main()
{
    Sqlist *L;
    int i;
    ListInsert_Sq(L,1,1);
    ListInsert_Sq(L,2,2);
    ListInsert_Sq(L,3,3);
    ListInsert_Sq(L,4,4);
    ListInsert_Sq(L,5,5);
    for(i=1;i<=L->length;i++)
        printf("%-4d",L->elem[i-1]);
}
搜索更多相关主题的帖子: return 线性表 
2011-04-24 11:44
快速回复:线性表顺序存储结构出了问题
数据加载中...
 
   



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

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