No title

例题

输入n个数找出最小值,与第一个值进行交换,然后输出这些数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//输入n个数找出最小值,与第一个值进行交换,然后输出这些数
string str = Console.ReadLine();//输入
string[] strArray = str.Split(" ");//转换成字符串数组
int[] intArray = new int[strArray.Length];//声明一个int数组
for (int i = 0; i < strArray.Length; i++)
{
intArray[i] = Convert.ToInt32(strArray[i]);//把字符串数组内容转移到int数组

}
//找出最小值
int min = intArray[0];
int minIndex = 0;//最小值索引
for (int i = 1; i < intArray.Length; i++)
{
if (intArray[i] < min)
{
min = intArray[i];
minIndex = i;
}
}
int temp = intArray[0];
intArray[0] = intArray[minIndex];
intArray[minIndex] = temp;
foreach (int t in intArray)
{
Console.Write(t + " ");
}
从一个排序的数组中插入一个元素,之后还是有序的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
namespace _01
{
internal class Program
{
static void Main(string[] args)
{//得到一个数组
string str = Console.ReadLine();
string[] strArray = str.Split(" ");
int[] intArray = new int[strArray.Length];
for (int i = 0; i < intArray.Length; i++)
{
intArray[i] = Convert.ToInt32(strArray[i]);
}
int x = Convert.ToInt32(Console.ReadLine());//得到用户输入的数
int m = 0; //找到的索引
bool find = false;
//遍历寻找位置
for (int i = 0; i < intArray.Length - 1; i++)
{

if (x >= intArray[i] && x <= intArray[i + 1])
{
m = i;
find = true;//找到
break;
}
}
//未找到

if (find == false)
{
if (x >= intArray[intArray.Length-1])
{
m = intArray.Length - 1;
}
if (x < intArray[0])
{
m = -1;
}
}
int[] intArraynew = new int[intArray.Length+1];
//0~m
for (int i = 0; i<m+1; i++)
{
intArraynew[i] = intArray[i];
}
intArraynew[m + 1] = x;

for (int i = m + 1; i < intArray.Length; i++)
{
intArraynew[i+1] = intArray[i];
}
foreach (int i in intArraynew)
{
Console.Write(i+" ");
}
}
}
}