对于算法不明确,帮忙解释一下吧,谢谢。代码:using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int[] arr ={ 1, 5, 3, 6, 7, 8, 4, 0 };
Console.Write("排序前:");
foreach (int s in arr)
{
Console.Write(s);
}
Console.WriteLine();
int tmp = 0;
bool isok = false;
while (!isok)
{
isok = true;
for (int i = 0; i < arr.Length - 1; i++) //我不知道为什么这里要-1
{
if (arr[i] > arr[i + 1])
{
tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
isok = false;
}
}
}
Console.Write("排序后:");
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i]);
}
Console.WriteLine();
} }
}
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int[] arr ={ 1, 5, 3, 6, 7, 8, 4, 0 };
Console.Write("排序前:");
foreach (int s in arr)
{
Console.Write(s);
}
Console.WriteLine();
int tmp = 0;
bool isok = false;
while (!isok)
{
isok = true;
for (int i = 0; i < arr.Length - 1; i++) //我不知道为什么这里要-1
{
if (arr[i] > arr[i + 1])
{
tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
isok = false;
}
}
}
Console.Write("排序后:");
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i]);
}
Console.WriteLine();
} }
}
解决方案 »
- C# zedgraph关闭再打开 属性为null
- 使用SqlCommand对象的ExcuteNonQuery方法
- 来帮我看看登陆窗体哪里出了错
- 求救:c# 传递给系统调用的数据区域太小。 (异常来自 HRESULT:0x8007007A)
- 一个WINFORM问题
- 正则表达式如何写?
- 高手请赐招:HikPlayM4 关于播放.264视频文件问题
- 第一次写httpwebrequest 为什么跑不通啊!
- 新手学习C#,应该看什么书?
- 有谁能详细说明一下System.Reflection.Assembly类?
- 1-100个数,不重复的随机插入到维数为99的数组,请用最有高效的方法查出这100个数中那一个数是没有插入到数组中的?
- 如何解决“索引-1不是为负数,就是大于行数”这个异常???
不-1 就数组越界了
数组是长度是N
索引是0 - N-1啊
arr[i] = arr[i + 1];有个i+1
如果不-1 那么最后一列就是
比如有8个
arr[7]=arr[8];
就越界了
非常感谢,明白了。