哈希表
对于一个纯数字数组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;
        }
//上述代码便是一个哈希排序