- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言技巧 :C数组的插入与删除以及排序
? 首页 学信校园 考试中心 计算机
C语言技巧 :C数组的插入与删除以及排序
来源:中国IT实验室 ????2010年08月05日 10:37
导读:数组的插入跟数组删除大体上差不多,当插入元素后,插入点后面的每一个元素向后移一个位置,而删除是向前移一个位置。? 数组的插入: #include stdio.h #define SIZE 10 int main() { int a[SIZE]={10,12,14,16,18,20,13,200,134,59}; /* 初始化数组 */ int b[SIZE+1]={0},i,j,x,v; /* b数组为插入后的数组,新插入了一个元素,所以要在原数组的基础上加1 */ printf(\Please input insert addr:\); scanf(\%d\,x); /* 插入值的位置 */ printf(\Please input insert value:\); scanf(\%d\,v); /* 插入值 */ for (i=0;i=SIZE-1;i++) { if (i==x) { /* 循环数组a,当数组a元素值的位置与插入值的位置相等时 */ b[i]=v; /* 把插入值赋给数组与数组a元素值相等的位置i */ b[i+1]=a[i]; /* 把原来数组a中i位置的值赋下一个位置 */ } if (ix) b[i+1]=a[i]; /* 当循环中的i大于插入值的位置x时,以后每一个元素所放的位置向后退一 格 */ if (ix) b[i]=a[i]; /* 当循环中的i小于插入值的位置x时,每一个元素所放的位置不变 */ } printf(\This array is:n\); for (j=0;j=SIZE;j++) printf(\%5d\,b[j]); /* 打印数组 */ printf(\n\); return 0; } 数组的删除: #include stdio.h #define SIZE 10 int main() { int a[SIZE]={10,12,14,16,18,20,13,200,134,59}; int b[SIZE-1]={0},i,j,x,v; printf(\Please input insert addr:\); scanf(\%d\,x); for (i=0;i=SIZE-1;i++) { if (i==x) b[i-1]=a[i]; if (ix) b[i-1]=a[i]; if (ix) b[i]=a[i]; } printf(\This array is:n\); for (j=0;j=SIZE-2;j++) printf(\%5d\,b[j]); printf(\n\); return 0; } 数组的插入跟数组删除大体上差不多,当插入元素后,插入点后面的每一个元素向后移一个位置,而删除是向前移一个位置。 数组的排序(泡沫排序法): /* 本程序把数组的值按升排列 */ #include stdio.h #define SIZE 15 main() { int a[SIZE]={900,2,3,58,34,76,32,43,56,70,35,234,532,543,2500}; int i,pass,hold,j=0,k=0; printf(\Data items in oraginal ordern\); for (i=0;i=SIZE-1;i++) /* 打印排序前的数组 */ printf(\%6d\,a[i]); for (pass=1;pass=SIZE-1;pass++) { /* 比较的趟数 */ for (i=0;i=SIZE-(pass+1);i++) { /* 比较一趟,注意这里的条件是SIZE-(pass+1) */ if (a[i]a[i+1]) { hold=a[i]; a[i]=a[i+1]; a[i+1]=hold; } } } printf(\nData items in ascending ordern\); for (i=0;i=SIZE-1;i++) /* 打印排序后的数组 */ printf(\%6d\,a[i]); printf(\n\);
您可能关注的文档
- B-2014四川电影电视职业学院计算机科学与技术毕业设计选题参考表.doc
- 一个空间安装多个不同网站的方法.doc
- 网页设计与网站建设B.doc
- 2014《成才之路》高二数学(人教A版)选修2-1课件:2-2-3 直线与椭圆的位置关系.ppt
- .NET 系列教程2310B_16.ppt
- 专升本 C语言 C练习01--数据类型1.doc
- 人C肽(C-Peptide)ELISA试剂盒说明书.doc
- 2014《成才之路》高二数学(人教A版)选修2-1课件:2-3-3 直线与双曲线的位置关系.ppt
- 2014六年级下学期信息技术教学计划(泰山出版社).doc
- 2014年05月18日600万8个月后“瘦”成80万“零风险”理财,诺言失守谁买单.doc
文档评论(0)