一维数组数据的处理(排序,删除,插入)
来源:互联网 发布:淘宝宝贝仓库在哪 编辑:程序博客网 时间:2024/06/08 11:42
注意点
一:排序后数组转移储存,以便后续操作,比如插入处理
二:熟练掌握数组的录入,排序处理
三:掌握障眼法删减数组元素
//// main.c// 123//// Created by utotao on 2017/6/15.// Copyright © 2017年 乙一. All rights reserved.//#include <stdio.h>#include <unisted.h>#include <stdlib.h>int main(int argc, const char * argv[]){ //定义 const int N = 4; int i,j,deletenum; int temp,charu; int count = 0; int count1 = 1; int count2 = 0; int count3 = 0; int nums[N],nums1[N]; int num[N + 1]; //录入排行榜 for(i = 0;i < N;i++) { printf("请输入第%d个元素:\n",i + 1); scanf("%d",&nums[i]); } //战斗力从大到小排序 for(i = 0;i < N - 1;i++) { for(j = 0;j < N - i - 1;j++) { if(nums[j] < nums[j + 1]) { temp = nums[j]; nums[j] = nums[j+1]; nums[j + 1] = temp; } } } //打印排列好的战斗力 printf("战斗力从大到小依次为:\n"); for(i = 0;i < N;i++) { printf("%d\t",nums[i]); } printf("\n"); //将nums[]储存到nums1[]当中 for(i = 0;i < N;i++) { nums1[i] = nums[i]; } //输入需要删除的元素值 //寻找该元素值 while(1) { printf("请输入需要删除的元素:\n"); scanf("%d",&deletenum); //后续操作 for(i = 0;i < N;i++) { if(nums[i] == deletenum) { count2++; } } //count2 == 0说明输入数据不在数组之中 if(count2 == 0) { printf("所输入的值不在数组之中,无法删除!\n"); } // else { for(i = 0;i < N;i++) { if(nums[i] == deletenum)//找到了要删除的数组元素值 { //将之后的元素之一覆盖并且删除一个数组长度 for(j = i;j < N;j++) { nums[j] = nums[j + 1]; } count++; break; } } //输出 删除过后的数组 printf("所输入的数据已经删除!\n"); printf("删除过后的数组元素:\n"); for(i = 0;i < N - count1;i++) { printf("%d\t",nums[i]); } count1++; } count2 = 0; printf("\n"); if(count1 == 5) { printf("数组元素已经全部删了!\n"); break; } } //输入想插入的值 printf("请输入想要插入的值:\n"); scanf("%d",&charu); for(i = 0;i < N;i++) { if(charu <= nums1[i]) { count3++;//将插入的位置i赋值给count3 } } printf("count3=%d\n",count3); //4 3 1 0//2(2位置) //4 3 2 1 0 //count3 = 2; //nums[2] = nums[1],num2[3] = nums[2] for(i = 0;i < count3;i++) { num[i] = nums1[i]; }//插入之前的值传递给num[],0,1 num[count3] = charu;//插入的值传递给num[],2 for(i = count3;i < N + 1;i++)// 插入之后的值传递给num[],3,4 { num[i + 1] = nums1[i]; } //输出插入之后的新数组 printf("插入新元素之后的数组为:\n"); for(i = 0;i < N + 1;i++) { printf("%d\t",num[i]); } return 0;}
阅读全文
0 0
- 一维数组数据的处理(排序,删除,插入)
- 一维数组插入排序
- 排序算法的数组实现 -- 插入排序(一)
- 一维数组的选择排序,冒泡排序,以及插入排序。
- 关于数组的插入与删除以及排序
- 一维数组常见的三种排序、冒泡排序、选择排序、插入排序、Arrays内置排序
- 数组的插入排序
- 大二 第一次数据结构作业 (数组的排序,删除,查找,插入,合并)(线性表)
- 链表初解(一)——单链表的创建、删除、插入、测长、排序、逆置
- 一维图像数据数组处理应该注意的几个问题
- 插入排序(数组)
- CListCtrl(数据的插入、删除、查询)
- 一维数组里多个数据 排序
- 堆的插入 删除 排序
- 面向对象处理人员数据 (动态数组,人员数据的增加与删除)
- 在一个已排序的数组中插入数据(c语言)
- 【算法与数据结构必备】PHP常用排序算法:冒泡,快速排序,插入排序(一维数组)
- 插入排序(一)
- Linux 正则表达式详解
- 2017.06.15--spark中cache和persist的区别
- 归并排序
- 在js中生成table时向js中的函数传递中文参数时不能调用该函数
- android基础控件学习
- 一维数组数据的处理(排序,删除,插入)
- maven的pom.xml文件详解
- Fragment重复使用跳转可以自己写一个BaseFragment继承Fragment
- C语言程序设计(47)
- 广度优先搜素
- 数据交互
- 2017计蒜客复赛
- 十年后的亿万富翁将诞生在人工智能行业
- 新闻发布系统