数据结构之线性表
#include <stdio.h>
#include <stdlib.h>
#define kMAXListSize 1024
typedef struct
{
int data[kMAXListSize];
int count;
}LinearList;
LinearList *createLinearList()
{
LinearList *list = (LinearList *)malloc(sizeof(LinearList));
list->count =0;
return list;
}
void appendNote(LinearList *list,int data)
{
int count = list->count;
if(count <=kMAXListSize ) {
list->data[count] = data;
list->count ++;
}
}
void appendNoteByPointer(LinearList *list,int data)
{
int count = list->count;
if(count <=kMAXListSize)
{
list->data[count] = data
}
}
int deleteNote(LinearList *list,int pos)
{
int count = list->count;
if( pos < count && pos >0) {
for (int i = pos; i < count; i ++) {
list->data[i] = list->data[i +1];
}
list->count --;
return1;
}
return0;
}
void updateNote(LinearList *list,int pos, int data)
{
int count = list->count;
if(pos <0 || pos >= count) return;
list->data[pos] = data;
}
int findNote(LinearList *list,int pos)
{
int count = list->count;
if(pos <0 || pos >= count) return0;
return list->data[pos];
}
int isEmpty(LinearList *list)
{
return list->count ==0;
}
void myPrint(LinearList *list)
{
for (int i =0; i < list->count; i ++) {
printf("data[%d] = %d \n", i, list->data[i]);
}
}