devc如何自定义头文件并使用

发布时间:2020-11-16 17:53:26 作者:Leah
来源:亿速云 阅读:1244

devc如何自定义头文件并使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.首先建一个项目,把主文件和头文件都放进去

devc如何自定义头文件并使用

2.如果文件内的代码没有错,那么直接开始运行就好。

主函数的模块:

#include

#include


#include"SqList.h"


int main()

{

    int i;

    ElemType e;

    SqList sq;

    InitList_Sq(sq); /*初始化顺序表sq*/

    ListInsert_Sq(sq,1,1); /*插入元素*/

    ListInsert_Sq(sq,2,2);

    ListInsert_Sq(sq,3,3);

    ListInsert_Sq(sq,4,4);

    ListInsert_Sq(sq,5,5);

    ListInsert_Sq(sq,6,6);

    printf("线性表:");ListTraverse_Sq(sq);

    printf("长度:%d\n",ListLength_Sq(sq));


    i=3;GetElem_Sq(sq,i,e);

    printf("第%d个元素:%d\n",i,e);

    e=5;

    printf("元素%d是第%d个元素\n",e,LocateElem_Sq(sq,e));

    i=4;printf("删除第%d个元素\n",i);

    ListDelete_Sq(sq,i,e);

    printf("线性表:");ListTraverse_Sq(sq);

    DestoryList_Sq(sq);

    system("pause");

    return 1; 

}

   头文件:

#ifndef SQLIST_H

#define SQLIST_H

#include

#include

#include

#define LIST_INIT_SIZE 50

#include "SqList.h"

//顺序表操作函数的实现

typedef int ElemType; 


typedef struct 

{ ElemType *elem; //存放顺序表元素,教材中使用了指针来表示顺序表的基地址,允许扩展 

    int listsize; //在本处代码中使用了基本数组data,不允许扩展 

    int length; //存放顺序表的长度

} SqList;

int InitList_Sq(SqList &L) /*初始化线性表*/

{

    L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));

    if(!L.elem) return(-2);

    L.length=0;

    L.listsize=LIST_INIT_SIZE;

    return 1;

}

int DestoryList_Sq(SqList &L)

{

    if(L.elem!=NULL)

    free(L.elem);

    return 1;

}


int ListLength_Sq(SqList L) /*求线性表长度*/

{

    return L.length;

}


int GetElem_Sq(SqList L,int i,ElemType &e) /*求线性表中第i个元素*/

{

    if (i<1 || i>L.length) /*无效的i值*/

    return 0;

    else

    {

    e=L.elem[i-1];

    return 1;

    }

}


int LocateElem_Sq(SqList L,ElemType e) /*按值查找*/

{

    int i=0;

    while (L.elem[i]!=e) /*查找值为x的第1个结点*/

    i++;

    if (i>L.length) 

    return(0); /*未找到*/

    else 

    return(i+1);

}


int ListInsert_Sq(SqList &L,ElemType e,int i) /*插入元素*/

{

    int j;

    if (i<1 || i>L.length+1) /*无效的参数i*/

    return 0;

    for (j=L.length;j>i;j--) /*将位置为i的结点及之后的结点后移*/

    L.elem[j]=L.elem[j-1];

    L.elem[i-1]=e;                /*在位置i处放入x*/

    L.length++;                      /*线性表长度增1*/

    return 1;

}


int ListDelete_Sq(SqList &L,ElemType &e,int i) /*删除元素*/

{

    int j;

    if (i<1 || i>L.length)        /*无效的参数i*/

    return 0;

    j=i-1;

    e=L.elem[i-1];

    for (j=i;j

    L.elem[j-1]=L.elem[j];

    L.length--;                    /*线性表长度减1*/

    return 1;

}


void ListTraverse_Sq(SqList L) /*输出线性表*/

{

    int i;

    for (i=1;i<=L.length;i++)

    printf("%d ",L.elem[i-1]);

    printf("\n");

}

#endif

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. QTextCodec头文件
  2. 防止头文件多次引入

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

devc %d

上一篇:springboot使用validation校验类的具体示例

下一篇:SpringBoot如何实现参数校验/参数验证

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》