VR引擎程序设计基础class5

77 阅读1分钟

1.冒泡排序(直接看图)

冒泡.gif

    int[] a = { 1,20,3,0,8,6,7,9,4 };
    for (int j = 0; j < a.Length-1; j++)
    {
        Boolean flag = false;
        for (int i = 0; i < a.Length - 1-j; i++)//每循环一次,需要比较的次数-1
        {
            if (a[i] > a[i + 1])
            {
                int c = a[i];
                a[i] = a[i + 1];
                a[i + 1] = c;
                flag = true;
            }
        }
        if (!flag)//如果一个数与其他任何一个数都没有交换,说明排序完成,退出
        {
            break;
        }
    }
    Console.Write(string.Join(" ",a));

2.Array.Sort()排序

int[] a = { 1, 20, 3, 0, 8, 6, 7, 9, 4 };
Array.Sort(a);//改变原来数组
Console.Write(string.Join(" ", a));

3.有n(n<=100)个整数,已从小到大排序,插入一个数x,使生成的新序列依旧有序

int x = -5;
int[] a = { 1,2,3,4,6,7,8,9};
int[] b = new int[a.Length + 1];
int cur = 0;//插入元素在a中的索引
for (int i = 0; i < a.Length; i++)//寻找x的位置
{
    if (x > a[i])
    {
        cur = i+1;//记录插入位置
    }
}
for (int i = 0; i < cur; i++)//复制x前半部分
{
    b[i] = a[i];
}
b[cur] = x;            
for (int i = cur; i < a.Length; i++)//复制x后半部分
{
    b[i+1] = a[i];
}
Console.Write(string.Join(" ", b));    

4.判断一个字符串是否是回文串,eg:elle,abccba

string s = "abccbaa";
bool flag = true;
for (int i = 0; i < s.Length/2; i++)
{
    if (s[i]!=s[s.Length-1-i])
    {
        Console.Write(false);
        flag = false;
        break;
    }
}
if (flag)
{
    Console.Write(true);
}

5.求气温连续下降天数的最大值,输入36,32,30,33,28,23,22,30,32,输出4

int [] a= { 36,32,30,33,28,23,22,30,32 };
int maxday = 1;
int count = 1;
for (int i = 0; i < a.Length-1; i++)
{
    if (a[i] > a[i + 1])
    {
        count++;
        maxday = maxday > count ? maxday : count;
    }
    else {
        count = 1;
    }
}
Console.Write(maxday);

6.只包含小写字母的字符串,计算每个字母出现次数,然后输出只出现2次的字母的个数

string a = "aabbccddffhh";
int[] b = new int[a.Length];
int count = 0;
for (int i = 0; i < a.Length; i++)
{
    b[a[i] - 'a'] = b[a[i]-'a'] + 1;
}
for (int i = 0; i < b.Length; i++)
{
    if (b[i]==2)
    {
        count++;
    }
}
Console.WriteLine(string.Join(" ",b));
Console.WriteLine(count);