有整数数组,要求从小到大排序,但是一定,一定要用交换元素,并且必须以最小的数来交换开始。因为每步交换需要执行基本函数baseFunction(number1,number2)
function baseFunction(number1,number2){
alert(number1.toString() + "|" + number1.toString())
}
如:数组:22、6、56、34、87、8、45,
第一步就是交换6和22,变成6、22、56、34、87、8、45,执行baseFunction(6,22);
第二步就应该交换8和22,变成6、8、56、34、87、22、45,执行baseFunction(8,22);
第三步就应该交换22和56,变成6、8、22、34、87、56、45,执行baseFunction(22,56);
如果碰到最小数的就在应该出现的位置上就无须交换,
最后数组变成:6、8、22、34、45、56、87急求,在线等,谢谢高手帮忙
function baseFunction(number1,number2){
alert(number1.toString() + "|" + number1.toString())
}
如:数组:22、6、56、34、87、8、45,
第一步就是交换6和22,变成6、22、56、34、87、8、45,执行baseFunction(6,22);
第二步就应该交换8和22,变成6、8、56、34、87、22、45,执行baseFunction(8,22);
第三步就应该交换22和56,变成6、8、22、34、87、56、45,执行baseFunction(22,56);
如果碰到最小数的就在应该出现的位置上就无须交换,
最后数组变成:6、8、22、34、45、56、87急求,在线等,谢谢高手帮忙
解决方案 »
- 如何把这些数据一个页面表格输出?
- input框的焦点切换问题
- My97DatePicker控件显示有效日期的问题
- 百分向大家请教一个js的问题
- 请问:得到一html元素,反推它的xpath,或者jquery的选择符。谢谢。
- IE工具栏增加按钮功能后,如何实现点击IE工具栏新增的按钮点击后出现像IE工具栏历史按钮的效果
- post 之后(tagert="_blank"),如何向父窗口的某个INPUT 写值
- 排序问题
- 在realplay里循环播放的指令参数是什么?
- 用js 如何获取到名字 (如何获取兰花),字符串格式如下,字符串是 window.showModalDialog的返回值
- javascript中prototype的Class.create()方法是如何使用的。
- showModalDialog字窗口如何关闭
<script language="JavaScript">
<!--
function baseFunction(number1,number2){
alert(number1.toString() + "|" + number1.toString())
} var arr = [22,6,56,34,87,8,45];
var temp = 0;
for(var i = 0; i < arr.length; i++){
for(var j = i + 1; j < arr.length; j++){
if(arr[j] < arr[i]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//baseFunction(arr[j], arr[i])
}
}
alert(arr)
//-->
</script>
<script language="JavaScript">
<!--
function baseFunction(number1,number2){
alert(number1.toString() + "|" + number2.toString()) //你的base方法有点小问题 改下
} var arr = [22,6,56,34,87,8,45];
var temp = 0;
for(var i = 0; i < arr.length; i++){
for(var j = i + 1; j < arr.length; j++){
if(arr[j] < arr[i]){
baseFunction(arr[j], arr[i])
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
alert(arr)
//-->
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>冒泡排序</title>
<script type="text/javascript">
var data = [22, 6, 56, 34, 87, 8, 45];function $(id){
return document.getElementById(id);
}
function baseFunction(number1,number2){
alert(number1.toString() + "|" + number2.toString());
}function bubble(arr){
var index = 0;
for(var i=0; i<arr.length; i++){
index = i;
for(var j=i+1; j<arr.length; j++){
if(arr[j] < arr[index]){
index = j;
}
}
if(index != i){
tmp = arr[i];
arr[i] = arr[index];
arr[index] = tmp;
baseFunction(arr[i], arr[index]);
}
}
}window.onload = function(){
ret = $("result");
ret.innerHTML = "排序前:" + data + "<br/><br/>";
bubble(data);
ret.innerHTML += "排序后:" + data;
};
</script>
</head><body>
<div id="result">
</div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" type="text/javascript">
function resetTable(tbobj,str){
numberarr = str.split(",");
var temp = 0;
for(var i = 0; i < numberarr.length; i++){
for(var j = i + 1; j < numberarr.length; j++){
if(numberarr[j] < numberarr[i]){
changeLie(tbobj,numberarr[j], numberarr[i]);
temp = numberarr[i];
numberarr[i] = numberarr[j];
numberarr[j] = temp;
}
}
}
}
//错就错在红色部份resetTable()用了冒泡排序(我不需要相邻替换!!!!),应该写一个方法满足我的需求,有大大能帮忙吗
function changeLie(tbobj,number1,number2){
var temp =new Array();
var arr=new Array();
myTR=tbobj.rows;
for(i=0;i<myTR.length;i++){
arr[i]=new Array();
temp[i]=new Array();
myTD=myTR[i].cells;
for(j=0;j<myTD.length;j++){
temp[i][j] = myTR[i].cells[number2].innerHTML;
myTR[i].cells[number2].innerHTML = myTR[i].cells[number1].innerHTML;
myTR[i].cells[number1].innerHTML = temp[i][j];
}
}
}
</script>
</head>
<body>
<table border="1px" id="tblTest">
<TR>
<TD>5</TD>
<TD>8</TD>
<TD>7</TD>
<TD>2</TD>
<TD>3</TD>
<TD>6</TD>
<TD>1</TD>
<TD>4</TD>
<TD>0</TD>
</TR>
<TR>
<TD>张三</TD>
<TD>天天小学</TD>
<TD>二(1)班</TD>
<TD>9</TD>
<TD>男</TD>
<TD>上海</TD>
<TD>喜欢笑</TD>
<TD>35KG</TD>
<TD>团员</TD>
</TR>
<TR>
<TD>李四</TD>
<TD>天兆中学</TD>
<TD>初一(2)班</TD>
<TD>14</TD>
<TD>女</TD>
<TD>上海</TD>
<TD>喜欢哭</TD>
<TD>50KG</TD>
<TD>党员</TD>
</TR>
</table>
<input type="button" value="change" onclick="resetTable(document.getElementById('tbltest'),'5,8,7,2,3,6,1,4,0');">
</body>
</html>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD> <BODY>
<script>
var arr = [22,6,56,34,87,8,45];
for(var i=0;i<arr.length;i++){
var iMin = arr[i];
var index = i;
for(var j=i;j<arr.length;j++){
if(iMin>arr[j]){
iMin = arr[j];
index = j;
}
}
baseFunction(iMin,arr[i]);
arr.splice(index,1,arr[i]);
arr.splice(i,1,iMin);
}
function baseFunction(number1,number2){
alert(number1.toString() + "|" + number2.toString());
}
</script>
</BODY>
</HTML>