實現C函數功能對數組元素進行插入、刪除、查詢操作

jopen 9年前發布 | 1K 次閱讀 C/C++

#include<stdio.h>

define MAX 100

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-1;j>i-2;j--) 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-1;j<n-1;j++) a[j] = a[j+1]; n--; } return n; } int search(int a[],int n,int x) { int i; for(i=0;i<n;i++) { if(a[i]==x) return i+1; } return -1; } void printArray(int a[],int n) { int i; for(i=0;;i++) { 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=0;i<n;i++) 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); } </pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!