[数据结构与算法教程][表]相关的小函数操作

对于C来说可以算是小函数,对于C++等面向对象的语言来说,仅仅算作成员函数/方法而已。

线性表

零个或多个数据元素的有限序列

线性表的插入

将新元素插入到第i个元素之前,则第i个元素以及后面的元素都需要向后移动一个位置

// 函数原型
int* array_insert_int(int* array, int size, int new, int index);
// 函数定义
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个元素,则后面的元素都需要向前移动一个位置

// 函数原型
int* array_erase_int(int* array, int size, int index);
// 函数定义
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;   
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 改变只为遇见未知的自己! 2016年12月3日,我在一本全新的笔记本上写下了这样一段话。生活是多么...
    龚嘉淇阅读 196评论 0 0
  • 世界上最遥远的距离不是我站在你面前你却不知道我爱你,而是我每日深情的大声向你倾诉我对你的爱慕,你却听不到,你却躲避...
    密恋光年阅读 279评论 0 1
  • 人们常常会用官衔和才能来衡量男人的品级,用相貌和气质品评女人的品级,却很少有人去思量心灵的品级。心灵是有品级的。而...
    弘毅A阅读 224评论 0 0
  • 每个人都会有一段异常艰难的时光,生活的窘迫,工作的失意,学业的压力,爱的惶惶不可终日 。挺过来的,人生就会豁然开朗...
    笃学青衿阅读 120评论 0 0