1. 顺序表的遍历函数代码
/*
*判断顺序表是否为空
* */
int is_list_empty(sqlist *list)
{
return list->len == 0 ? 1 : 0;
}
/*
*顺序表遍历
*
* */
void output(sqlist *list)
{
if(NULL==list||1==is_list_empty(list))
{
printf("list is NULL!n");
return;
}
for(int i=0; i<list->len; i++)
{
printf("%dt", list->arr[i]);
}
putchar(10);
}
2. 完整代码
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#define MAXSIZE 20
typedef int data_type;
typedef struct SQLIST
{
//数据元素
data_type arr[MAXSIZE];
int len;
}sqlist;
sqlist *create();
int append(sqlist *list, data_type element);
int is_list_full(sqlist *list);
int is_list_empty(sqlist *list);
void output(sqlist *list);
int main(int argc, const char *argv[])
{
data_type element;
int n;
puts("> ---create a sqlist---n");
sqlist *list=create();
if(NULL==list)
{
printf("tfailed to create sqlist!n");
return -1;
}
printf("ta sqlist has been created!n");
putchar(10);
puts("> ---append elements to list---n");
printf("thow many element do you want to append?(max:%d):", MAXSIZE);
scanf("%d", &n);
for(int i=0; i<n; i++)
{
printf("tplease input No.%d element:", i+1);
scanf("%d", &element);
int ret=append(list, element);
if(0==ret)
{
printf("tlist: len=%d / max=%d!n", list->len, MAXSIZE);
}
else
{
printf("tfailed to append element!n");
break;
}
putchar(10);
}
puts("> ---output list by traversing---n");
output(list);
putchar(10);
return 0;
}
/*
*申请成功返回堆区内存首地址
*失败返回NULL
* */
sqlist *create()
{
sqlist* list=(sqlist*)malloc(sizeof(sqlist));
if(NULL==list)
{
return NULL;
}
//顺序表长度清零
list->len=0;
//顺序表数据元素清零
memset(list->arr, 0, sizeof(list->arr));
return list;
}
/*
*满了返回1
*不满返回0
* */
int is_list_full(sqlist *list)
{
return list->len==MAXSIZE ? 1 : 0;
}
/*
*注意要判断顺序表是否已满
*成功返回0
*失败返回-1
* */
int append(sqlist *list, data_type element)
{
if(NULL==list || 1==is_list_full(list))
{
return -1;
}
list->arr[list->len++]=element;
return 0;
}
/*
*判断顺序表是否为空
* */
int is_list_empty(sqlist *list)
{
return list->len == 0 ? 1 : 0;
}
/*
*顺序表遍历
*
* */
void output(sqlist *list)
{
if(NULL==list||1==is_list_empty(list))
{
printf("list is NULL!n");
return;
}
for(int i=0; i<list->len; i++)
{
printf("%dt", list->arr[i]);
}
putchar(10);
}
====================
原文地址:https://blog.csdn.net/K_A_Wang/article/details/134633048
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_19759.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。