线性表排序

void sort(SeList l)//冒泡排序法 {//从小到大排 int i,j; ElemType temp; for(i=0; i < l.length - 1; i++) for(j=0; j < l.length - i - 1; j++) { if(l.data[j] > l.data[j + 1])//数组 { temp = l.data[j]; l.data[j] = l.data[j + 1]; l.data[j + 1] = temp; } } }int SequenceInsert(SeList *l,int p,ElemType e,void (*q)(SeList))//插入成员 {//插入的位置从1开始 //位置12345 //下标01234 //实现插入排序 int i; if(NULL == l)//入参判断 { return FAILURE; } if(p > l->length + 1 || l->length >= SIZE || p < 1) { return FAILURE; } for(i = 0; i < l->length - p + 1; i++)//刚初始化完后,length=0,插入时此循环语句不执行 { l->data[l->length - i] = l->data[l->length - i - 1]; //循环后移 } l->data[p - 1] = e; //插入值 l->length++; //长度要自加 q(*l); //似乎并不传数组指针 return SUCCESS; }

【线性表排序】

    推荐阅读