栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据结构与算法C程序(1数组)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构与算法C程序(1数组)

数据结构与算法C程序(1数组)
  • 1、包含的头文件
  • 2、宏定义类型
  • 3、元素结构体定义
  • 4、操作函数
    • 元素索引
    • 元素查找
    • 获取长度
    • 数据插入
    • 数据删除
  • 5、主函数测试
  • 6、测试结果

1、包含的头文件
#include
#include 
2、宏定义类型
#define MAXN 1024 //范围
#define DataType int //数据类型
#define True 1
#define Error 0
3、元素结构体定义
typedef struct Node
{
    DataType data[MAXN];  //数据
    int length;     //储存的元素个数
} Node;
4、操作函数 元素索引
DataType SeqlistIndex(Node *sq,int i)
{
    return sq->data[i];
}
元素查找
DataType SeqlistFind(Node *sq,DataType da)
{
    int i;
    for(i=0;ilength;i++)
    {
        if(da == sq->data[i])
        {
            return i;
        }
    }
    return Error;
}
获取长度
DataType SeListGetLen(Node *sq)
{
    return sq->length;
}
数据插入
DataType SeqListsert(Node *sq, int k, DataType da)
{
    int i;
    if(sq->length == MAXN)
    {
        return Error;
    }
    for(i = sq->length; i > k; i--)
    {
        sq->data[i] = sq->data[i-1];
    }
    sq->data[i] = da;
    sq->length++;
    return True;
}
数据删除
DataType SeqListDelete(Node *sq,int k)
{
    int i;
    if(sq->length == 0)
        return Error;
    for(i = k; i < sq->length-1;i++)
    {
        sq->data[i] = sq->data[i+1];
    }
    sq->length--;
    return True;
}
5、主函数测试
void main()
{
    int i;
    Node Ar;
    for(i = 0; i < 30; i++)
        Ar.data[i] = i;
    Ar.length = 30;
    for(i = 0; i < 30; i++)
        printf("%d ",Ar.data[i]);
    printf("n");
    printf("%d,%d,%dn",SeqlistIndex(&Ar,8),SeqlistFind(&Ar,9),SeListGetLen(&Ar));
    SeqListsert(&Ar,8,32);
    for(i = 0; i < 30; i++)
        printf("%d ",Ar.data[i]);
    printf("n");
    SeqListDelete(&Ar,8);
    for(i = 0; i < 30; i++)
        printf("%d ",Ar.data[i]);
}
6、测试结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316695.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号