
void rmv(int *ptr,int in,const unsigned int n)
{
unsigned int i
for (i=ini<n-1i++) {
*(ptr+i)=*(ptr+i+1)
}
realloc(ptr,sizeof(int)*(n-1))
}
-----------------------------------------------
插入函数,在整形数组ptr中的ptr[in]之前插入x,n是原数组的长度
void rin(int *ptr,int in,int x,const unsigned int n)
{
unsigned int i
realloc(ptr,sizeof(int)*(n+1))
for (i=ni>ini--) {
*(ptr+i)=*(ptr+i-1)
}
ptr[in]=x
}
需要包含stdlib.h头文件。
示例:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
void rmv(int *ptr,int in,const unsigned int n)
{
unsigned int i
for (i=ini<n-1i++) {
*(ptr+i)=*(ptr+i+1)
}
realloc(ptr,sizeof(int)*(n-1))
}
void rin(int *ptr,int in,int x,const unsigned int n)
{
unsigned int i
realloc(ptr,sizeof(int)*(n+1))
for (i=ni>ini--) {
*(ptr+i)=*(ptr+i-1)
}
ptr[in]=x
}
int main(int argc, char* argv[])
{
int *p,i
p=calloc(6,sizeof(int))
for (i = 0i<6i++) {
p[i]=i
}
*(p+2)=124
for (i=0i<6i++) {
printf("%d ",p[i])
}
putchar('\n')
rmv(p,2,6)
for (i=0i<6i++) {
printf("%d ",p[i])
}
rin(p,2,258,5)
putchar('\n')
for (i=0i<6i++) {
printf("%d ",p[i])
}
system("pause")
free(p)
return 0
}
//---------------------------------------------------------------------------
#include<stdio.h>#define MAX 50
int insert(int a[],int n,int i,int x)
{
int j
if(n+1>MAX)
printf("无插入空间\n") //数组只能存MAX个数
else if(i<1||i>n+1)
printf("插入位置非法\n")//插入位置的范围为1..n+1
else
{
for(j=n-1j>i-2j--)
a[j+1]=a[j] //将数组中i位置及其后面的数,依次向后移动一格
a[i-1]=x //在i位置插入x
n++
}
return n //返回当前数组大小
}
int del(int a[],int n,int i)
{
int j
if(i<1||i>n)
printf("删除位置非法\n")
else
{
for(j=i-1j<n-1j++)
a[j] = a[j+1]
n--
}
return n
}
int search(int a[],int n,int x)
{
int i
for(i=0i<ni++)
{
if(a[i]==x)
return i+1
}
return -1
}
void printArray(int a[],int n)
{
int i
for(i=0i++)
{
if(i==n-1)
{
printf("%d\n",a[i])
break
}
printf("%d ",a[i])
}
}
void main()
{
int n,i,a[MAX]
int index,x
printf("输入数组中的元素个数\n")
scanf("%d",&n)
for(i=0i<ni++)
scanf("%d",&a[i])
printf("请输入要插入的位置和插入的数\n")
scanf("%d %d",&index,&x)
n = insert(a,n,index,x)
printArray(a,n)
printf("请输入要删除元素的位置\n")
scanf("%d",&index)
n = del(a,n,index)
printArray(a,n)
printf("请输入要查询的元素\n")
scanf("%d",&x)
i = search(a,n,x)
if(i!=-1)
printf("%d的位置:%d\n",x,i)
else
printf("未找到%d\n",x)
}
望采纳~
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)