對(duì)于C來說可以算是小函數(shù),對(duì)于C++等面向?qū)ο蟮恼Z言來說稀蟋,僅僅算作成員函數(shù)/方法而已。
線性表
零個(gè)或多個(gè)數(shù)據(jù)元素的有限序列
線性表的插入
將新元素插入到第i個(gè)元素之前,則第i個(gè)元素以及后面的元素都需要向后移動(dòng)一個(gè)位置
// 函數(shù)原型
int* array_insert_int(int* array, int size, int new, int index);
// 函數(shù)定義
int* array_insert_int(int* array, int size, int new, int index)
{
int* newArray = (int*) malloc((size + 1) * sizeof(int));
int i;
for (i = 0; i < size; i++)
*(newArray + i) = *(array + i);
for (i = size; i > index; i--)
*(newArray + i) = *(newArray + i - 1);
*(newArray + index) = new;
return newArray;
}
線性表的刪除
刪除第i個(gè)元素射赛,則后面的元素都需要向前移動(dòng)一個(gè)位置
// 函數(shù)原型
int* array_erase_int(int* array, int size, int index);
// 函數(shù)定義
int* array_erase_int(int* array, int size, int index)
{
int* newArray = (int*) malloc((size - 1) * sizeof(int));
int i;
for (i = 0; i < index; i++)
*(newArray + i) = *(array + i);
for (i = index; i < size - 1; i++)
*(newArray + i) = *(array + i + 1);
return newArray;
}