获取顺序表中任意一个位置的数据
SeqListType SeqListGet(SeqList* seqlist,size_t pos,SeqListType default_value){
if(seqlist == NULL){
return;
}
if(SeqList->size == 0){
return;
}
if(pos >= seqlist->size){
return pos;
}
return seqlist->data[pos];
}
修改任意位置的数据
void SeqListSet(SeqList* seqlist,size_t pos,SeqListType default_value){
if(seqlist == NULL){
return;
}
if(seqlist->size == 0){
return;
}
if(pos >= seqlist->size){
return;//yuejie
}
seqlist->data[pos] = value;
return;
}
给定一个数据,查找其在顺序表中的位置
size_t SeqListFind(SeqList* seqlist,SeqType value){
if(seqlist == NULL){
return;
}
size_t i = 0;
for(;i < seqlist->size;++i){
if(value == seqlist->data[i]){
return i;
}
}
return (size_t)-1;
}
给定一个值,在顺序表中找到并删除(若有多个,只删第一个)
void SeqListRemove(SeqList* seqlist,SeqListType to_delete){
if(seqlist == NULL){
return;
}
size_t i = 0;
for(;i < seqlist->size;++i){
if(seqlist->data[i] == to_delete){
for(;i < seqlist->size;++i){
seqlist->data[i] == seqlist->data[i+1];
}
}
break;
}
--seqlist->size;
return;
}
给定一个值,在顺序表中找到并删除(若有多个,全删)
void SeqListRemoveAll(SeqList* seqlist,SeqType value){
if(seqlist == NULL){
return;
}
size_t i = 0;
size_t j = 0
for(;i < seqlist->size;++i){
if(seqlist->data[i] == value){
for(j = i;j < seqlist->size;++j){
seqlist->data[j] == seqlist->data[j+1];
}
}
--seqlist->size;
}
return;
}
获取顺序表中元素的个数
size_t SeqListSize(SeqList* seqlist){
if(seqlist == NULL){
return NULL;
}
return seqlist->size;
}
判断顺序表是否为空,空则返回0,非空返回1
int SeqListEmpty(SeqList* seqlist){
if(seqlist == NULL){
return 0;
}
if(seqlist->data[0] != NULL){
return 0;
}
else{
return 1;
}
}
冒泡排序
void SeqListBubbleSort(SeqList* seqlit){
if(seqlit == NULL){
return;
}
size_t i = 0;
size_t j = 0;
for(;i < seqlist->size;++i){
for(j = i;j < seqlist->size;++j){
SeqListType value = 0;
if(seqlist->data[i] > seqlist->data[i+1]){
value = seqlist->data[i];
seqlist->data[i] = seqlist->data[i+1];
seqlist->data[i+1] = value;
}
}
}
return;
}