博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组库编程
阅读量:4480 次
发布时间:2019-06-08

本文共 2695 字,大约阅读时间需要 8 分钟。

#include 
#include
#include
#define datatype intstruct array{ datatype *pstart;//数组首地址 int length;//长度 int sortstat;//有序或者无序 0 无序 1 有序};void init(struct array *parr);void initwithdata(struct array *parr,datatype data);void initwitharray(struct array *parr,datatype *pdata,int datalength);void show(struct array *parr);void addobject(struct array *parr,datatype data);void addobjects(struct array *parr,datatype *pdata,int datalength);void main(){ struct array mydata; int a[10] = {
1,2,3,4,5,6,7,8,9,10}; int b[6] = {
11,12,13,14,15,16}; int c[5] = {
17,18,19,20,21}; initwitharray(&mydata,a,10); show(&mydata); addobjects(&mydata,b,6); show(&mydata); addobjects(&mydata,c,5); show(&mydata);}void init(struct array *parr){ parr->pstart = NULL; parr->length = 0; parr->sortstat = 0;}void initwithdata(struct array *parr,datatype data){ parr->pstart=(datatype *)(sizeof(datatype)); *(parr->pstart) = data; parr->length = 1; parr->sortstat = 0;}void initwitharray(struct array *parr,datatype *pdata,int datalength){ parr->pstart= (datatype *)malloc(sizeof(datatype)*datalength); memcpy(parr->pstart,pdata,sizeof(datatype)*datalength); parr->length = datalength; parr->sortstat = 0;}void show(struct array *parr){ if(parr == NULL || parr->pstart == NULL || parr->length == 0) { printf("没有"); return; } else { printf("\n数组此时状态\n"); for(int i=0;i
length;i++) { printf("%4d",parr->pstart[i]); } } printf("\n");}void addobject(struct array *parr,datatype data){ if(parr != NULL) { if(parr->pstart == NULL || parr->length == 0) { initwithdata(parr,data); } else { parr->pstart = (datatype *)realloc(parr->pstart,parr->length*sizeof(datatype)+sizeof(datatype)); parr->pstart[parr->length] = data; parr->length++; } } else { printf("%s","addobject error"); }}void addobjects(struct array *parr,datatype *pdata,int datalength){ if(parr != NULL) { if(parr->pstart == NULL || parr->length == 0) { initwitharray(parr,pdata,datalength); } else { parr->pstart = (datatype *)realloc(parr->pstart,parr->length*sizeof(datatype)+datalength*sizeof(datatype)); memcpy(parr->pstart+parr->length,pdata,datalength*sizeof(datatype)); parr->length += datalength; } } else { printf("%s","addobjects error"); } }

 

转载于:https://www.cnblogs.com/xiaochi/p/5385785.html

你可能感兴趣的文章
delete了,析构函数却没有调用
查看>>
POJ 3264 Balanced Lineup
查看>>
removeFromSuperview 添加动画-by小雨
查看>>
java 操作格子问题(线段树)
查看>>
ARM32 Linux kernel virtual address space
查看>>
用C语言扩展Python的功能
查看>>
[MySQL 5.6] 初识5.6的optimizer trace
查看>>
LabVIEW(数据库连接)
查看>>
【CSDN博客之星】2013年CSDN博客之星正在评选,希望大家支持投票,非常感谢!...
查看>>
更新内容:关于Windows Azure技术内容搜索的新页面可用
查看>>
Web Service 的工作原理
查看>>
LaTeX技巧003:实现一个章标题
查看>>
第一次冲刺--站立会议07
查看>>
linux下pip的安装
查看>>
自我介绍
查看>>
Linux scp sudo
查看>>
初学者---AngularJS1 基础详解
查看>>
我的个人博客搭建之旅
查看>>
架构漫谈(四):如何做好架构之架构切分
查看>>
通知浏览器下载文件,而不是直接打开下载
查看>>