| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 373 人关注过本帖
标题:帮忙 看下
只看楼主 加入收藏
自负的蜘蛛
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-1-22
收藏
 问题点数:0 回复次数:1 
帮忙 看下
#include<stdlib.h>
#include<stdio.h>
#define OK 1
#define ERROR 0
#define OVERFLOW 2
#define List_Init_Size 100
#define List_add 10
typedef struct List{
    int *elem;
    int length;
    int listsize;
}SqList;
/* 构造一个空的线性表L */
int InitList(SqList *L){
    L->elem =(int *)malloc(List_Init_Size*sizeof(int));
    if (! L->elem ) exit(OVERFLOW);
    L->length =0;
    L->listsize =List_Init_Size;
    return OK;
}
/*在顺序线性表L的第i个位置之前插入元素e*/
int ListInsert(SqList *L,int i,int e){
    int *newbase,*p,*q;
    if (i<1||i>L->length +1 ) return ERROR;
    if(L->length >=L->listsize ){
        newbase=(int *)realloc(L->elem ,(L->listsize +List_add)*sizeof(int));
        if(!newbase) exit(OVERFLOW);
        L->elem =newbase;
        L->listsize +=List_add;   
    }
    q=&(L->elem[i-1]);
    for(p=&(L->elem[L->length -1]);p>=q;--p)
        *(p+1)=*p;
    *q=e;
    ++L->length ;
    return OK;
}

/*输出顺序线性表L中的元素*/
void Display(SqList *L){
    int *p;
    for (p=L->elem ;p<=L->elem +L->length-1 ;++p)
        printf("%3d ",*p);
    printf("\n");
}

/* 在顺序线性表L中删除第i个元素,并用e返回其值*/
int ListDelete(SqList *L,int i,int *e)
{
    int *p,*q;
    if((i<1)||(i>L->length)) return ERROR;
    p=&(L->elem [i-1]);
    *e=*p;
    q=L->elem +L->length -1;
    for(++p;p<=q;++p)
        *(p-1)=*p;
    --L->length ;
    return OK;
}


void main(){
    SqList La,*L; int i,m,j,n;
    L=&La;
    InitList(L);
    printf("输入10个数据元素:");
    for(i=0;i<5;i++)
    { scanf("%d ",&m);
        ListInsert(L,i+1,m);
    }
    Display(L);


    printf("输入插入元素位置 \n");
    scanf("%d ",&j);
    printf("输入插入元素值 \n");
    scanf("%d ",&n);
    ListInsert(L,j,n);
    Display(L);
}
2008-09-12 10:16
快速回复:帮忙 看下
数据加载中...
 
   



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

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