C语言顺序表

结构体声明:

1
2
3
4
5
typedef struct Listable{//声明结构体
    int * head;
    int length;
    int size;
}listable;

 顺序表的创建:

1
2
3
4
5
6
7
8
9
10
11
12
//创建顺序表函数
listable establash(){
    listable lt;        //创建结构体变量
    lt.head=(int *)malloc(Size*sizeof(int));//申请内存
    if(!lt.head){
        printf("创建失败");
        exit(0);        //退出
    }
    lt.length=0;    //顺序表内边元素占用的长度
    lt.size=Size;   //顺序表的长度
    return lt;
}

 案例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <stdlib.h>
 
#define Size 10
 
typedef struct Listable{//声明结构体
    int * head;
    int length;
    int size;
}listable;
 
//创建顺序表函数
listable establash(){
    listable lt;        //创建结构体变量
    lt.head=(int *)malloc(Size*sizeof(int));//申请内存
    if(!lt.head){
        printf("创建失败");
        exit(0);        //退出
    }
    lt.length=0;    //顺序表内边元素占用的长度
    lt.size=Size;   //顺序表的长度
    return lt;
}
 
//初始化
void star(listable *ls){
    for(int j=0;j<5;j++){    //赋值5个数
        ls->head[j]=j+1;    
        ls->length++;
    }
}
 
//打印顺序表的值
void print(listable *li){
    for(int i=0;i<li->length;i++){
        printf("%d ",li->head[i]);
    }
    printf("\n");
}
 
int main(){
    listable lis=establash();
    star(&lis);
    printf("顺序表内容:");
    print(&lis);
    printf("总长度:%d  当前长度:%d",Size,lis.length);
    return 0;
}

 

posted @   一文搞懂  阅读(632)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示