线性表的顺序存储结构

来源:互联网 发布:首汽约车有抢单软件吗 编辑:程序博客网 时间:2024/06/05 03:12

顺序线性表

第一种方法:

#include<stdio.h> 

#define MAX_SIZE 50

typedef int ElemType;   //自定义类型

 

typedef struct {  //结构体

    ElemType data[MAX_SIZE]; 

    int len; 

}SqList;

/*参数一:顺序线性表   参数二:一个数组  参数三:顺序线性表长度

 

*/

void createSqList(SqList &L,int a[], int n){ 

    for(int i = 0; i < n;i++){ 

        L.data[i]=a[i];

    } 

    L.len = n;  

}

 //打印输出顺序线性表 

void printSqList(SqList L){ 

    printf("打印线性表:"); 

    for(int i = 0; i < L.len;i++){ 

        printf("%d",L.data[i]); 

    } 

    printf("\n"); 

}

int main(){ 

     

    //初始化一个空的线性表 

    SqList L; 

    L.len=0;

       int i; 

       //初始化数组

    int array[5];

       for(i=0;i<5;i++){

             

              array[i]=i;

       }

    createSqList(L,array, 5);//创建一个线性表 

    printSqList(L);    //输出线性表

}

 

第二种方法:

 

#include<stdio.h>

#include<stdlib.h>

#define MAX_SIZE 50

typedef int ElemType;   //自定义类型

 

typedef struct {  //结构体

    ElemType data[MAX_SIZE]; 

    int len; 

}SqList;

/*参数一:顺序线性表   参数二:一个数组  参数三:顺序线性表长度

 

*/

void createSqList(SqList *L,int a[], int n){

    for(int i = 0; i < n;i++){ 

        L->data[i]=a[i];

    } 

    L->len = n;  

}

 //打印输出顺序线性表 

void printSqList(SqList *L){ 

    printf("打印线性表:"); 

    for(int i = 0; i <L->len; i++){ 

        printf("%d",L->data[i]); 

    } 

    printf("\n"); 

}

int main(){ 

     

    //初始化一个空的线性表 

    SqList *L; 

    L=(SqList*)malloc(sizeof(SqList)); 

    L->len=0;

       int i; 

       //初始化数组

    int array[5];

       for(i=0;i<5;i++){

              array[i]=i;

       }

    createSqList(L,array, 5);//创建一个线性表 

    printSqList(L);    //输出线性表

}

 微笑本内容由安康学院"雨季"原创!