C语言-数组插入的算法
2008-11-25 10:43
225 查看
最近整理文档,发现上课的时候写的算法,有详细的注释,发到这里大家共享一下吧。
void insert_array(int[] A,int n,int item)
{
int k,m;
for(k=0;k<n;k++)
if(A[k]>=item)
break;/*寻找item的位置*/
for(m=n;m>k;m--)
A[m+1]=A[m];/*通过后移插入*/
A[k]=item;/*在此插入*/
return;
}
void delete_item(int[] A,int n,int item)
{
int k=0,m;
while(k<n)/*由于n可能变化,故此处不用for*/
{
if(A[k]==item)
{
for(m=k;m<n-1;m++)
A[m]=A[m+1];/*利用前移删除*/
n--;/*注意n要减少*/
}
else
k++;/*继续查找其他记录*/
}
return;
}
void insert_array(int[] A,int n,int item)
{
int k,m;
for(k=0;k<n;k++)
if(A[k]>=item)
break;/*寻找item的位置*/
for(m=n;m>k;m--)
A[m+1]=A[m];/*通过后移插入*/
A[k]=item;/*在此插入*/
return;
}
void delete_item(int[] A,int n,int item)
{
int k=0,m;
while(k<n)/*由于n可能变化,故此处不用for*/
{
if(A[k]==item)
{
for(m=k;m<n-1;m++)
A[m]=A[m+1];/*利用前移删除*/
n--;/*注意n要减少*/
}
else
k++;/*继续查找其他记录*/
}
return;
}
相关文章推荐
- c语言在有序数组中插入一个数,使之依然有序
- C语言 数据结构之连续存储数组的算法
- java 数组 插入算法
- day09-关于C语言数组的学习与简单的算法
- 数据结构与算法——在一个数组中实现两个堆栈(C语言)
- 【算法】C语言实现数组的动态分配
- 常见算法:C语言中链表的操作(创建,插入,删除,输出)
- 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
- C语言——实例039 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
- 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
- C语言找出数组中的特定元素的算法解析
- 插入排序_C语言_数组
- 房上的猫:数组插入算法等难点专开
- js数组插入指定位置元素,删除指定位置元素,查找指定位置元素算法
- JAVA 数组算法(复制、查找、插入)
- C语言之基本算法30—数组的灵活应用(一个正整数的各位数字平方和)
- c语言二叉排序树,数组模拟,二叉树插入法
- C语言之基本算法35—数组上三角之积 主对角之积 副对角之积
- C语言提高-第20讲: 经典:查找的艺术(有序数组中插入数据)
- 请编程实现:产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复(百度了一下,get一种高性能算法,非递归)