#include <stdio.h>
#define MAXSIZE 20
#define ERROR 0
#define OK 1
typedef int ElementType;
typedef int Status;
typedef struct
{
ElementType data[MAXSIZE];
int length;
}Sqlist;
//清空数据
Status initList(Sqlist *list)
{
list->length = 0;
return OK;
}
//确定长度
int listLength(Sqlist list)
{
return list.length;
}
//插入数据
Status insertList(Sqlist *list, ElementType x)
{
//判断是否在范围内
if(listLength(*list) >= MAXSIZE)
{
return ERROR;
}
list->data[list->length] = x;
list->length++;
return OK;
}
void printlist(Sqlist list)
{
int i;
for( i = 0; i < listLength(list); i++)
{
printf("%d\n",list.data[i]);
}
}
Status update(Sqlist *list, int index, ElementType x)
{
//判断是否在长度内
if(index < 0||index >= listLength(*list))
{
return ERROR;
}
list->data[index] = x;
return OK;
}
//数据排序
void sort(Sqlist *list)
{
int i,j;
for( i = 0; i < listLength(*list) - 1; i++)
for(j = 0; j < listLength(*list) - 1 - i;j++)
{
if(list->data[i] > list->data[i + 1])
{
int t = list->data[i];
list->data[i] = list->data[i + 1];
list->data[i + 1] = t;
}
}
}
int main()
{
int ret;
Sqlist list;
ret = initList(&list);
if(ERROR == ret)
{
return -1;
}
int i;
for(i = 0; i < 20; i++)
{
ret = insertList(&list, i);
// printf("insert %d %d\n", i, ret);
}
ret = update(&list, 5, 100);
sort(&list);
printlist(list);
return 0;
}
#define MAXSIZE 20
#define ERROR 0
#define OK 1
typedef int ElementType;
typedef int Status;
typedef struct
{
ElementType data[MAXSIZE];
int length;
}Sqlist;
//清空数据
Status initList(Sqlist *list)
{
list->length = 0;
return OK;
}
//确定长度
int listLength(Sqlist list)
{
return list.length;
}
//插入数据
Status insertList(Sqlist *list, ElementType x)
{
//判断是否在范围内
if(listLength(*list) >= MAXSIZE)
{
return ERROR;
}
list->data[list->length] = x;
list->length++;
return OK;
}
void printlist(Sqlist list)
{
int i;
for( i = 0; i < listLength(list); i++)
{
printf("%d\n",list.data[i]);
}
}
Status update(Sqlist *list, int index, ElementType x)
{
//判断是否在长度内
if(index < 0||index >= listLength(*list))
{
return ERROR;
}
list->data[index] = x;
return OK;
}
//数据排序
void sort(Sqlist *list)
{
int i,j;
for( i = 0; i < listLength(*list) - 1; i++)
for(j = 0; j < listLength(*list) - 1 - i;j++)
{
if(list->data[i] > list->data[i + 1])
{
int t = list->data[i];
list->data[i] = list->data[i + 1];
list->data[i + 1] = t;
}
}
}
int main()
{
int ret;
Sqlist list;
ret = initList(&list);
if(ERROR == ret)
{
return -1;
}
int i;
for(i = 0; i < 20; i++)
{
ret = insertList(&list, i);
// printf("insert %d %d\n", i, ret);
}
ret = update(&list, 5, 100);
sort(&list);
printlist(list);
return 0;
}