数据结构与算法(新手篇1)
顺序表算法:
顺序表是计算机内存中以数组的形式保存的线性表,是指使用一组地址连续的存储单元依次存储数据元素的线性结构。
插入数据元素:
在顺序表中的第a(0<=a<=length)个位置上插入新的元素b.
如果a的值不正确则返回error。
否则,从第a个位置以及以后的元素向后移动一位,给元素b腾出空间。并且表的长度+1;
STATU insertElem(SqList *pList, int pos, ElemType elem) { int i = 0; // 判断要插入的位置是否合理 if (pos < 0 || pos > pList->length) return ERROR; // 将data[pos]及后面的元素都向后移动一个位置 for (i = pList->length - 1; i > pos; i--) { pList->data[i] = pList->data[i-1]; } pList->data[pos] = elem; pList->length++; // 顺序表长度加1 return OK; }
删除元素:
删除第a(0<=a<=length)个位置的元素b
a值如果不正确,返回error
否则第a个元素以及以后的元素向前移动一位。并且,表的长度-1;
STATU removeElem(SqList *pList, int pos, ElemType *pElem) { int i = 0; // 判断要删除的位置是否合理 if (pos < 0 || pos > pList->length) return ERROR; *pElem = pList->data[pos]; // 将data[pos]后面的元素都向前移动一个位置 for (i = pos; i < pList->length; i++) { pList->data[i] = pList->data[i+1]; } pList->length--; // 顺序表长度减1 return OK; }
中国男儿当自强不息,厚德载物。

浙公网安备 33010602011771号