哈希表
对于一个纯数字数组a[],一个Hashell[]
数组a是一个乱序数组
数组hashell是一个空数组
第一个循环遍历数组a 并将数组a中每一个值所对应的Hashell的a[i]的值所对应的Hashell位置的值+1
得到一个Hashell数组,这个数组中的位置上的值便是数组a的值出现的频率。
function hxsort(arr_o) { let arr_sorted = []; let hxarr = []; let i, j, v; document.write("哈希数组开始写入!" + "<br/>") for (i = 0; i < arr_o.length; i++) { // hxarr[arr_o[i]]++; v = arr_o[i] hxarr[v] = 0; hxarr[v]++ // document.write("原数组第" + i + "元素为" + arr_o[i] + "<br/>") } // console.log(hxarr.length); document.write("得到哈希数组的长度为:"+hxarr.length +"<br/>"+"该哈希数组为:") for(i=0;i<hxarr.length;i++){ document.write(hxarr[i]+","); } for (j = 0; j<hxarr.length; j++) { if (hxarr[j] > 0) { arr_sorted.push(j) document.write("数据写入中..."+"<br/>"); } } document.write("排序后的数组为:") for(i=0;i<arr_sorted.length;i++){ document.write(arr_sorted[i]+",") } return arr_sorted; } //上述代码便是一个哈希排序