鱼C论坛

 找回密码
 立即注册
查看: 5414|回复: 12

一个已定义的数组,要插入几个数据,并排序

[复制链接]
发表于 2013-7-12 11:13:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 骗子死全家 于 2013-7-12 11:35 编辑

一个已定义的数组,要 插入和删除 几个数据,并排序 、输出
突发其想的想到。。实在没办法实现



求大神
求代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-12 11:26:57 | 显示全部楼层
插排的话 我记得思想是定义的数组范围要大 留出空间便于插入

先排序

然后把要插入的数据进行大小比较

把空位流出  比它大的数组元素后挪完毕之后跳出循环进行数据插入
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-12 11:28:02 | 显示全部楼层
删除数据的话就是要找到数据 然后数组元素前挪进行覆盖
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-12 11:55:50 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-12 14:24:32 | 显示全部楼层

................
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-12 14:27:35 | 显示全部楼层
利用for循环将数组存放的数据逐个往后面移动,空出来的那一个就直接赋值进去就好了...这个是添加....删除也是一样的道理....
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-12 15:54:16 | 显示全部楼层
  1. #include<stdio.h>
  2. int main()
  3. {       
  4.         char a[1024]={0,1,2,3,4,5};
  5.         int i,j,n,value;
  6.         char c;
  7.         int loop=1;
  8.         while(loop)
  9.         {
  10.                 printf("请输入您要在数组的第几位插入数据:");
  11.                 scanf("%d",&n);
  12.                 for(i=n;i<1024;i++)
  13.                 {
  14.                         a[n+1]=a[n];
  15.                 }
  16.                 printf("请输入您要插入的具体数据值:");
  17.                 scanf("%d",&value);
  18.                 a[n]=value;
  19.                  
  20.                 for(j=0;j<10;j++)
  21.                 {
  22.                         printf("%d ",a[j]);
  23.                 }
  24.                 getchar();
  25.                 printf("\n\n是否要继续插入?(y/n)");
  26.                 c=getchar();
  27.                 if(c=='y') loop=1;
  28.                 else if(c=='n') loop=0;                 
  29.         }
  30.         return(0);
  31. }
复制代码
楼主是不是这么个意思???不好意思,我暂时只写了插入的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-12 20:20:54 | 显示全部楼层
pcfate 发表于 2013-7-12 15:54
楼主是不是这么个意思???不好意思,我暂时只写了插入的

我想的复杂好多 遇到“ ”“/n” 这些都要处理  貌似不可以这样搞的
int k=4;
int b[k]={0,1,2,3,};
这样可以的吗?通过 修改k 来改数组的大小。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-15 11:58:53 | 显示全部楼层
骗子死全家 发表于 2013-7-12 20:20
我想的复杂好多 遇到“ ”“/n” 这些都要处理  貌似不可以这样搞的
int k=4;
int b[k]={0 ...

嗯,你这样可以啊
然后再加上对异常输入的检测就好啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-16 09:59:52 | 显示全部楼层
这个我记得我学数据结构的时候学过  但是有点记不清了  具体的思想就是
排序的时候有很多方法  最傻的就是一个一个比较   然后当找到了具体的位置后  后面的元素 依次+1
删除就是后面的元素依次减一  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-16 11:32:21 | 显示全部楼层
601103405 发表于 2013-7-16 09:59
这个我记得我学数据结构的时候学过  但是有点记不清了  具体的思想就是
排序的时候有很多方法  最傻的就是 ...

说的是排序?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-16 12:10:55 | 显示全部楼层
骗子死全家 发表于 2013-7-16 11:32
说的是排序?

排序和插入
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-16 18:47:36 | 显示全部楼层

没认真看 不好意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-19 07:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表