数组的增删改查的C语言实现
来源:互联网 发布:php留言板代码 编辑:程序博客网 时间:2024/06/05 01:09
#include <stdio.h>#include <malloc.h>#include <stdlib.h>#include <stdbool.h>typedef struct Arr{int len;int num;int *head;}A;void initArr(A *arr,int len){ arr->head=(int *)malloc(sizeof(int)*len); if(NULL==arr){ printf("Dynamic storage fail to distribute!"); exit(-1); } arr->len=len; arr->num=0; return;}bool isFull(A *arr){ if(arr->num>=arr->len){ return true; } return false;}bool isEmpty(A *arr){ if(arr->num==0){ return true; } return false;}bool insert(A *arr,int index,int val){ if(isFull(arr)){ return false; } if(index<0&&index>arr->len-1){ return false; } int temp=arr->len; while(temp>index){ arr->head[temp]=arr->head[temp-1]; --temp; } arr->head[index]=val; arr->num++; return true;}bool append(A *arr,int val){ if(isFull(arr)){ return false; }else{ arr->head[arr->num]=val; (arr->num)++; } return true;}bool remove_arr(A *arr,int index){ if(arr->num<=0){ return false; } if(index<0&&index>arr->num-1){ return false; } int temp=index; while(temp<arr->num-1){ arr->head[temp]=arr->head[temp+1]; temp++; } --arr->num; return true;}void show_arr(A *arr){ int i; for(i=0;i<arr->num;i++){ printf("%d ",arr->head[i]); } printf("\n");}bool inverse(A *arr){ if(arr->num<=0){ return false; } int temp=0; int temp2=arr->num; while(temp!=temp2){ int x=arr->head[temp]; arr->head[temp]=arr->head[temp2-1]; arr->head[temp2-1]=x; temp++; temp2--; } return true;}bool replace(A * arr,int index,int val){ if(arr->num<=0 || index<0 ||index >arr->num-1){ return false; } arr->head[index]=val; return true;}int main(void){ A arr; initArr(&arr,6); append(&arr,4); append(&arr,2); append(&arr,3); append(&arr,1); append(&arr,1); insert(&arr,0,5); remove_arr(&arr,0); remove_arr(&arr,0); remove_arr(&arr,0); remove_arr(&arr,0); remove_arr(&arr,0); remove_arr(&arr,0); remove_arr(&arr,0); remove_arr(&arr,0); append(&arr,0); append(&arr,2); append(&arr,30); append(&arr,23); inverse(&arr); replace(&arr,3,8); show_arr(&arr);}
0 0
- 数组的增删改查的C语言实现
- C语言实现远程MySql的增删改查
- C语言实现对顺序表的增删改查
- java实现数组的增删改查
- 【C++】单链表的增删查改实现
- 数组的增删改查
- 散列表的C程序实现,基于数组实现可以实现增删改查操作,
- 第一次写C语言链表的增删改查
- C语言操作MySQL数据库的增删改查
- C语言:动态顺序表的增删查改,数据结构
- c语言链表的增删改查
- 数据结构之数组的增删改查-java实现
- 笔记:堆的增删改查(数组实现)
- 使用移动数组下标的方式实现增删改查
- JS数组操作之增删改查的简单实现
- C语言实现顺序表的增删查改以及排序
- 用C语言实现顺序表的增删查改和逆置
- C语言链接mysql数据库,实现可以增删改查的角色权限登录系统
- 原生js 简单拖拽
- Connection #Facebook Relay文档翻译#
- 三种三栏网页宽度自适应布局方法
- gradle笔记
- 观察者设计模式
- 数组的增删改查的C语言实现
- 搭建Spark分布式集群
- 单点登录实现思路
- JPush极光推送
- String,StringBuffer与StringBuilder的区别??
- LINUX JDK Tomcat 安装
- java web 分页查询、显示
- 多线程的优先级与休眠
- UDP用户数据报协议