| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1480 人关注过本帖
标题:对结构体动态初始化的问题
取消只看楼主 加入收藏
Knightl8
Rank: 1
等 级:新手上路
帖 子:48
专家分:7
注 册:2020-3-8
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:1 
对结构体动态初始化的问题
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 100

typedef int Elemtype;
typedef struct SqList
{
    Elemtype data[MaxSize];
    int length; //顺序表的长度
};
void Init__List(struct SqList *sq);
int Length__List(struct SqList sq);
Elemtype Get__List(struct SqList sq, int index);
int Locate__List(struct SqList sq, int value);
void Insert__List(struct SqList*sq,int index,int value);
void Delete__List(struct SqList *sq, int index);
int main(void)
{

    struct SqList sq;
    Init__List(&sq);
    printf("线性表的长度是%d\n", sq.length);

    system("pause");
    return 0;
}

void Init__List(struct SqList *sq)
{
    //sq = (struct SqList *)malloc(sizeof(struct SqList));  问题:只有把这句注释了,上面的长度是0,否则是垃圾值,是为啥呢
    sq->length = 0;
}
/*
typedef struct SqList
{
    Elemtype data[MaxSize];
    int length; //顺序表的长度
};
*/
//求顺序表的长度
int Length__List(struct SqList sq)
{

    return sq.length;
}
/*
返回线性表L中的第i个元素的值或地址
*/
Elemtype Get__List(struct SqList sq, int index)
{
    if (index <= 0 || index > sq.length)
    {
        return -1; //-1表示不存在
    }

    return sq.data[index - 1];
}

int Locate__List(struct SqList sq, int value)
{
    for (int i = 1; i <= sq.length; i++)
    {
        if (sq.data[i - 1] == value)
        {
            return i - 1;
        }
    }

    return -1;
}
void Insert__List(struct SqList*sq,int index,int value)
{
    if (index <= 0 || index > sq->length + 1)
    {
        printf("插入的位置错误\n");
    }

    for (int i = sq->length - 1; i >= index - 1; i--)
    {
        sq->data[i + 1] = sq->data[i];
    }
    sq->data[index - 1] = value;
    sq->length++;
}

void Delete__List(struct SqList *sq, int index)
{
    if (index <= 0 || index > sq->length)
    {
        printf("删除的位置错误\n");
    }

    for (int i = index - 1; i < sq->length; i++)
    {
        sq->data[i] = sq->data[i + 1];
    }

    sq->length--;
}
搜索更多相关主题的帖子: data int length index struct 
2021-06-08 08:14
Knightl8
Rank: 1
等 级:新手上路
帖 子:48
专家分:7
注 册:2020-3-8
收藏
得分:0 
回复 2楼 rjsp
谢谢老哥了
2021-06-08 08:37
快速回复:对结构体动态初始化的问题
数据加载中...
 
   



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

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