永发信息网

编程实现,输入若干个相同类型的有序数存放杂数组中,按以下3种方式插入一个数到有序的数列中,要求插入后数列仍为有效数列:(1)在最前面插入;(2)在中间插入;(3)在最后面插入‘

答案:2  悬赏:80  手机版
解决时间 2021-06-05 03:26
  • 提问者网友:無理詩人
  • 2021-06-04 08:54
编程实现,输入若干个相同类型的有序数存放杂数组中,按以下3种方式插入一个数到有序的数列中,要求插入后数列仍为有效数列:(1)在最前面插入;(2)在中间插入;(3)在最后面插入‘
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-06-04 10:20

不知道我不是最近很堕落,


好久不写代码了,


给你写一段代码吧,


手痒了;


编译器用VC6;


////////////////////////////////////////////////////////////////////////


//


////////////////////////////////////////////////////////////////////


#include<iostream.h>


#define length 5 //数组长度;


void main()


{


int a[length];


cout<<"请输入数字!"<<endl;


for(int i=0;i<lenght;i++)


{


cin>>a[i];


}


//以上的数为基本有序的数(这儿假设为递增);如果输入的是无序自已定义个函数排列一下吧;


//以下开始插入


cout<<"请输入要插入的数"<<endl;


int data;


cin>>data;


}


int b[lenght+1]=new int(lenght+1);//新建一个数组;


////以下为最前插入,你的三个要求无非是在寻找方向不同而已,想法都一样,以后两个略;


int j;


for(j=0;j<lenght;j++)


{


if(data<a[j])


{


b[j]=data;


while(j<lenght)


{


b[j+1]=a[j];


j++;


}


}


else


{


b[j]=a[j];


}



{


}

全部回答
  • 1楼网友:玩家
  • 2021-06-04 10:35

import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Scanner;

public class Test {

private int a; private int c; List list=new LinkedList();; public void getNum(){ //输入数据 Scanner scan=new Scanner(System.in); System.out.println("输入数据"); for(int i=0;i<10;i++){ int k=scan.nextInt(); list.add(k); } Collections.sort(list); getUtil(); } public void getUtil(){ //选择插入的地方 Scanner scan=new Scanner(System.in); System.out.println("1:在前面插入,2:中间插入,3:最后插入"); c=scan.nextInt(); switch(c){ case 1: System.out.println("请输入数字"); int d=0; d=scan.nextInt(); list.add(0, d); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } break; case 2: System.out.println("请输入数字"); int g=0; g=scan.nextInt(); int k=list.size()/2;//获得集合长度 list.add(k, g); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } break; case 3: System.out.println("请输入数字"); int l=0; l=scan.nextInt(); int o=list.size();//获得集合长度 list.add(o, l); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } break; }

} public static void main(String[] args) { new Test().getNum(); }

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯