标题:线性表打印出来
只看楼主
hg654321free
Rank: 1
等 级:新手上路
帖 子:15
专家分:5
注 册:2013-4-20
 问题点数:0 回复次数:5 
线性表打印出来
/*
** Copyright (C) All rights reserved.
*/
#define MAXSIZE 20
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

typedef int ElemType;
typedef int Status;

typedef struct
{
    ElemType data[MAXSIZE];
    int length;      //线性表当前长度
}SqList;

// Status 是函数的类型,其值是函数结果状态代码,如OK等。
// 初始条件:顺序线性表L已存在,1 <= i <= ListLength(L)
// 操作结果:用e返回L中第i个数据元素的值。

Status GetElem(SqList L, int i, ElemType *e)
{
    if( L.length==0 || i<1 || i>L.length )
    {
        return ERROR;
    }
    *e = L.data[i-1];

    return OK;
}

/* 初始条件:顺序线性表L已存在,1<=i<=ListLength(L)。 */
/* 操作结果:在L中第i个位置之前插入新的数据元素e,L长度+1。*/

Status ListInsert(SqList *L, int i, ElemType e)
{
    int k;

    if( L->length == MAXSIZE )  // 顺序线性表已经满了
    {
        return ERROR;
    }
    if( i<1 || i>L->length+1)   // 当i不在范围内时
    {
        return ERROR;
    }
    if( i <= L->length )   // 若插入数据位置不在表尾
    {
        /* 将要插入位置后数据元素向后移动一位 */
        for( k=L->length-1; k >= i-1; k-- )
        {
            L->data[k+1] = L->data[k];
        }
    }

    L->data[i-1] = e;  // 将新元素插入
    L->length++;

    return OK;
}

Status ListDelete(SqList *L, int i, ElemType *e)
{
    int k;

    if( L->length == 0)
    {
        return ERROR;
    }
    if( i<1 || i>L->length)
    {
        return ERROR;
    }

    *e = L->data[i-1];

    if( i < L->length)
    {
        for( k=i; k < L->length; k++)
        {
            L->data[k-1] = L->data[k];
        }
    }

    L->length--;

    return OK;
}

L->data[k-1] = L->data[k] 怎么打印出来
搜索更多相关主题的帖子: Copyright 线性表 
2013-04-20 19:48
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
得分:0 
回复 楼主 hg654321free
随便写的,
void print((SqList *L)
{
    int i;
   for(i = 0 ; i < L->length ; i++)
       printf("%d " , L->data[i]);
}

练就一身本领,只为笑傲江湖!
2013-04-21 18:18
hg654321free
Rank: 1
等 级:新手上路
帖 子:15
专家分:5
注 册:2013-4-20
得分:0 
回复 2楼 笑傲
还是没显示出来呀?
/*
** Copyright (C) All rights reserved.
*/
#include <stdio.h>
#define MAXSIZE 20
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

typedef int ElemType;
typedef int Status;
void print();
typedef struct
{
    ElemType data[MAXSIZE];
    int length;      //线性表当前长度
}SqList;

// Status 是函数的类型,其值是函数结果状态代码,如OK等。
// 初始条件:顺序线性表L已存在,1 <= i <= ListLength(L)
// 操作结果:用e返回L中第i个数据元素的值。

Status GetElem(SqList L, int i, ElemType *e)
{
    if( L.length==0 || i<1 || i>L.length )
    {
        return ERROR;
    }
    *e = L.data[i-1];

    return OK;
}

/* 初始条件:顺序线性表L已存在,1<=i<=ListLength(L)。 */
/* 操作结果:在L中第i个位置之前插入新的数据元素e,L长度+1。*/

Status ListInsert(SqList *L, int i, ElemType e)
{
    int k;

    if( L->length == MAXSIZE )  // 顺序线性表已经满了
    {
        return ERROR;
    }
    if( i<1 || i>L->length+1)   // 当i不在范围内时
    {
        return ERROR;
    }
    if( i <= L->length )   // 若插入数据位置不在表尾
    {
        /* 将要插入位置后数据元素向后移动一位 */
        for( k=L->length-1; k >= i-1; k-- )
        {
            L->data[k+1] = L->data[k];
        }
    }

    L->data[i-1] = e;  // 将新元素插入
    L->length++;

    return OK;
}

Status ListDelete(SqList *L, int i, ElemType *e)
{
    int k;

    if( L->length == 0)
    {
        return ERROR;
    }
    if( i<1 || i>L->length)
    {
        return ERROR;
    }

    *e = L->data[i-1];

    if( i < L->length)
    {
        for( k=i; k < L->length; k++)
        {
            L->data[k-1] = L->data[k];
        }
    }

    L->length--;

    return OK;
}

void print(SqList *L)
{
    int i;
   for(i = 0 ; i < L->length ; i++)
       printf("%d " , L->data[i]);
}

int main()
{
    print();
}
2013-04-21 20:28
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
得分:0 
回复 3楼 hg654321free
你根本就没有建立线性表怎么可能打印出来

练就一身本领,只为笑傲江湖!
2013-04-21 21:01
hg654321free
Rank: 1
等 级:新手上路
帖 子:15
专家分:5
注 册:2013-4-20
得分:0 
回复 4楼 笑傲
在哪里建立呀?刚听鱼C数据结构,也不清楚什么是线性表,链接表。就是抄来的代码。
2013-04-21 21:05
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
得分:0 
回复 5楼 hg654321free
还是好好看看书吧

练就一身本领,只为笑傲江湖!
2013-04-21 22:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-404997-1-1.html




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

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