c# 向已经排序的数组中插入元素,并按原来的顺序输出

大概是这个样子,求大神们能不能照着图帮我修改正确... 大概是这个样子,求大神们能不能照着图帮我修改正确 展开
 我来答
syht2000
高粉答主

2018-12-10 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
int[] arr = { 1, 10, 22, 38, 51 };
int[] arr2 = new int[6];
Console.WriteLine("请输入要插入的数字");
int i = int.Parse(Console.ReadLine());
int pos = 0;
for (int j = arr.Length - 1; j >= 0; j--)//查找插入位置
{
    if (i > arr[j])
    {
        pos = j + 1; break;
    }
}
arr2[pos] = i;
for (int j = 0; j < pos; j++) arr2[j] = arr[j];//或Array.Copy(arr, 0, arr2, 0, pos);
for (int j = pos; j < arr.Length; j++) arr2[j + 1] = arr[j];//或Array.Copy(arr, pos, arr2, pos+1, arr.Length-pos);
Console.WriteLine(string.Join(",", arr2));
Console.ReadKey();

//用List简单点
List<int> list =new List<int> { 1, 10, 22, 38, 51 };
Console.WriteLine("请输入要插入的数字");
int i = int.Parse(Console.ReadLine());
int pos=list.FindIndex(x=>x>=i);
if (pos == -1) pos = list.Count;
list.Insert(pos, i);
Console.WriteLine(string.Join(",", list));
Console.ReadKey();
草原上之狼
高粉答主

2018-12-10 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4018万
展开全部
public static void Sort(int[] array)
{
int[] arr=new int[]{45,12,44,4,5};
for(int j=1;j<arr.Length;j++)
{//外循环每次把参与排序的最大数排在最后
for(int i=0;i<arr.Length-j;i++)
{ //内层循环负责对比相邻的两个数,并把最大的排在后面
if(arr[i]>arr[i+1])
{ //如果前 一个数大于后一个数,则交换两个数
int temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}

}
}

排序已成,你价格输出就行
追问
排序我会,就是不会插入并输出
_§:з)))」∠)_
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式