本人基础知识很多都忘记了。所以请教下高人帮我解答以下知识。
能否帮我介绍一下其他算法和排序方法,及简单实例代码(如二分法,冒泡排序等等)
能否帮我介绍一下其他算法和排序方法,及简单实例代码(如二分法,冒泡排序等等)
解决方案 »
- 请教一个Ajax的问题,在线等。。
- .NET的MVC问题
- 大家来给瞅瞅代码,怎么修改不了,输入数据点修改没反应,感谢
- 来者有分,请问大家ASPNET2005中javascript分页是如何实现的?考虑到数据多的时候,速度问题!
- 关于treeview控件的使用类似于导航栏的
- 表单提交的问题。大家帮忙看看。
- 请各位大侠帮助!
- 如何读取一个图片文件并网页面输出
- 无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。
- OleDbDataAdapter的Fill方法可以用变量填充Dataset吗?
- 关于web service上创建cookie 页面无法获得该cookie的问题
- 上传文件的问题
int length = array.Length;
for (int i = 0; i <= length - 2; i++) {
for (int j = length - 1; j >= 1; j--) {
if (array[j] < array[j - 1] ) {
int temp = array[j];
array[j] = array[j - 1];
array[j - 1] = temp;
}
}
}
}
由于在排序过程中总是大数往前放,小数往后放,相当于气泡往上升,所以称作冒泡排序。
用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。
看了你的帖子 我也复习了一下下
二分法:
public int HalfSearch(int key, int[] arr)
{
int left = 0;
int right = arr.Length - 1; while (left <= right)
{
int middle = (left + right) / 2; if (key == arr[middle])
return middle;
else if (key > arr[middle])
{
left = middle + 1;
}
else
{
right = middle - 1;
}
}
return -1;
}