一个姓名按照笔画排序的页面
写了一个姓名按照笔画排序的页面, 共享一下。
< table >
< tr >
< td >
< textarea id = " srcStr " cols = " 60 " rows = " 20 " ></ textarea >
</ td >
< td >
< button onclick = " getVal(); " > 排序 >></ button >
</ td >
< td >
< textarea id = " descStr " cols = " 60 " rows = " 20 " readonly = " true " ></ textarea >
</ td >
</ tr >
< tr >
< td colspan = " 3 " >
不能排序的姓名有: < font color = " red " >< a id = " descript " ></ a ></ font >
</ td >
</ tr >
< tr >
< td colspan = " 3 " >
< font color = " green " > 说 明 < br >
一、姓按字的画数多少排列。同画数内的姓字按起笔横、竖、撇、捺、折的顺序排列,画数和笔形相同的字,按字形结构,先左右形字,再上下形字,后整体字。如:同是八画的字,“明”在先,“冒”次之,“国”在后。 < br >
二、姓字相同的依次看名的第二、第三字,先看画数,后看起笔顺序,再看笔形。两个字的姓名,视为第二个字为零画。 < br >
三、复姓字也按第一个字笔画画数多少排列,笔画相同的按笔形顺序排列。 < br >
四、姓名与姓名之间用半角逗号隔开。如:张三,李四 </ font >
</ td >
</ tr >
</ table >
</ body >
< script >
var ht = new HashTable();
var errorNameArr = new Array();
var nameArr = new Array();
function readDBFile()
... {
var xingStr = getXingStr();
var xingArr = xingStr.split(",");
var xingLen = xingArr.length;
for(var i=0;i<xingLen;i++)
...{
var e = new HashTableElement();
e.key = xingArr[i];
e.code = i;
ht.Insert(e);
}
}
function getVal()
... {
var xingSrc = document.all.srcStr.value;
if(xingSrc != "")
...{
var srcArr = xingSrc.split(",");
var srcLen = srcArr.length;
var errorNum = 0;
var nameNum = 0;
for(var i=0;i<srcLen;i++)
...{
var seq ;
if(srcArr[i].length >= 3 )
...{//先判断三个字的姓
seq = ht.Search(srcArr[i].substring(0,3));
if(seq == "" || seq == null)
...{
seq = ht.Search(srcArr[i].substring(0,2));
if(seq == "" || seq == null)
...{
seq = ht.Search(srcArr[i].substring(0,1));
}
}
}
else if(srcArr[i].length > 1 && srcArr[i].length <= 2 )
...{//先判断两个字的姓
seq = ht.Search(srcArr[i].substring(0,2));
if(seq == "" || seq == null)
...{
seq = ht.Search(srcArr[i].substring(0,1));
}
}
else if(srcArr[i].length == 1)
...{
seq = ht.Search(srcArr[i].substring(0,1));
}
if(seq == "" || seq == null)
...{
errorNameArr[errorNum] = srcArr[i];
errorNum++;
}
else
...{
var xingObj = new Object();
xingObj.name = srcArr[i];
xingObj.seq = seq + srcArr[i].length;
//nameArr[nameNum] = new Object();
nameArr[nameNum] = xingObj;
nameNum++;
}
}
//把排序后的姓名放到desc中
var nameNewArr = ShellSort(nameArr);
if(nameNewArr != null)
...{
var newLen = nameNewArr.length;
var descStr = ""
for(var i=0;i<newLen;i++)
...{
descStr = descStr + nameNewArr[i].name + ",";
}
document.all.descStr.value = descStr.substring(0,descStr.length-1);
}
//把不能排序的姓名列出来
if(errorNameArr != null)
...{
var newLen = errorNameArr.length;
var descStr = ""
for(var i=0;i<newLen;i++)
...{
descStr = descStr + errorNameArr[i] + ",";
}
document.all.descript.innerHTML = descStr.substring(0,descStr.length-1);
}
}
}
function ShellSort(arr) ... { //插入排序->希儿排序
var st = new Date();
var increment = arr.length;
do ...{
increment = (increment/3|0) + 1;
arr = ShellPass(arr, increment);
}
while (increment > 1)
status = (new Date() - st) + ' ms';
return arr;
}
function ShellPass(arr, d) ... { //希儿排序分段执行函数
var temp, j;
for(var i=d; i<arr.length; i++) ...{
if((arr[i].seq) < (arr[i-d].seq)) ...{
temp = arr[i]; j = i-d;
do ...{
arr[j+d] = arr[j];
j = j-d;
}
while (j>-1 && (temp.seq) < (arr[j].seq));
arr[j+d] = temp;
}//endif
}
return arr;
}
function HashTableElement()
... {
this.key = null;
this.code = null;
}
function HashTable()
... {
this.ht = new Array(4099);
this.Search = function(keyword)
...{
var arr = this.ht[keyword%4099];
if(typeof(arr) != "undefined")
...{
for(i = 0; i < arr.length; i ++)
...{
if(arr[i].key == keyword) return arr[i].code;
}
}
return null;
}
this.Insert = function(e)
...{
var arr = this.ht[e.key%4099];
if(typeof(arr) == "undefined")
...{
arr = new Array();
arr[0] = e;
this.ht[e.key%4099] = arr;
}
else
...{
arr[arr.length] = e;
}
}
}
function getXingStr()
... {
return "乙"
+ "丁,七,卜,刀,刁"
+ "干,于,土,大,万,万俟,寸,上官,山,么,千,广,弓,卫,马子车,习"
+ "丰,王,天,井,元,韦,云,专,扎,木,支,不,太叔,尤,车,区牙,比,瓦,戈,长孙,巨,日,贝,牛,毛,仁,仉,仇,化,从,丹,今,仓,公,公西,公羊,公冶,公良,公孙,乌,殳,勾,凤,卞,六,文,方,亢,火,计,尹,孔,巴,邓,双,毋,水"
+ "玉,未,正,甘,艾,古,节,左,左丘,厉,石,布,龙,平,东,东门,东郭,东方,占,卢,帅,归,申,申屠,叶,田,由冉,央,史,只,生,付,丘,白,仝,丛,令狐,印,包,乐,乐正,邝,立,玄,闪,兰宁,冯,司,司徒,司寇,司空,司马,弘,召,尼,皮,边,尕"
+ "耒,邢,戎,吉,巩,朴,权,亚,西,西门,有,百,百里,达,成,夹谷,匡,扬,毕,过,师,曲,吕,则,肉,年,朱,竹,乔,伍,伏,仲,仲孙,任,华,仰,伉伊,向,后,全,危,多,邬,庄,刘,齐,衣,充,闯,羊,羊舌,羊角,关,米,江,池汝,汤,宇文,安,军,冰,祁,许,农,寻,那,阮,阳,阴,牟,买,红,纪,孙"
+ "寿,麦,玛,远,运,赤,贡,却,芮,花,苍,严,克,劳,苏,杜,巫,巫马,李,杨,甫,邴,束,励,邳,来,扶,连轩辕,步,肖,时,吴,旷,员,别,岑,秀,利,邱,何,伯,佟,佘,余,谷,邸,狄,邹,言,享,库,应,辛,闵,怀,忻,况,冷,汪,沙,沃,沧,汲,沈,完,宋,罕,良,初,迟,张,陆,阿,陈,邵,邰,纳"
+ "青,武,幸,苗,苟,苑,范,茅,林,松,杭,郁,郏,拓拔,欧,欧阳,郅,卓,虎,尚,国,昌,畅,明,果,易,典,呼,呼延,迪,岩,罗,帕,凯,贯,牧,季,和,竺,佴,岳,侬,金,郄,周,鱼,庞,庚,底,府,於,郑,羌,单,单于,冼,法,宗,宝,宠,官,宛,空,宓,郎,房,居,屈,练,经,孟,终"
+ "封,项,赵,贲,郝,荆,茜,草,荀,荣,胡,茹,药,柯,查,相,柏,柳,郦,咸,南,南门,,南宫,战,是,贵,蚁,哈,钟,钟离,钦,钮,郜,种,秋,笃,段,段干,修,皇甫,禹,侯,律,须,俞,郗,郤,昝,逄,饶,施,恽,恰,闻,闻人,闾丘,姜,娄,首,养,洪,宣,宦,宫,冠,祖,祝,费,胥,姚,贺,勇,羿,骆,骈"
+ "秦,敖,班,载,袁,都,耿,聂,莫,莘,晋,桂,桓,格,索,栗,贾,夏,夏侯,热,原,顾,列,顿,柴,党,晁,晏,哨,钱,铁,倪,皋,徐,殷,爱,奚,翁,卿,栾,高,郭,席,唐,竞,郯,浩,凌,资,益,浦,海,涂,浣,家,宾,容,宰,宰父,诸,诸葛,谈,郎,展,陶,姬,通,能,桑"
+ "排,理,堵,教,黄,菅,萧,萨,梅,曹,戚,龚,盛,常,晨,鄂,唯,啜,崔,崇,铫,银,笪,符,第五,盘,庹,麻,瘐,康,鹿,章,商,阎,盖,淳于,淡,梁,梁丘,寇,宿,谌,扈,逮,尉,尉迟,屠,隋,隆,续,绳,巢"
+ "琴,越,喜,彭,斯,葛,董,蒋,蒉,韩,辜,森,惠,覃,粟,揭,辉,戢,景,喻,黑,嵇,程,税,傅,焦,储,舒,鲁,赓,童,羡,普,尊,曾,湛,温,滑,游,富,禄,谢,强,疏,隗,缑"
+ "鄢,靳,蓝,蒯,蓟,蓬,蒲,蒙,楚,楼,裘,赖,甄,雷,訾,虞,路,筱,简,微生,詹,鲍,解,廉,裔,靖,新,雍,阙,慎,满,溥,窦,福,褚"
+ "赫,赫连,綦,綦母,慕,慕容,蔡,蔚,蔺,臧,裴,管,鲜于,雒,廖,韵,端木,阚,漆,漆雕,赛,谭,谯,暨,翟,熊,缪"
+ "麴,燕,樊,暴,颛孙,墨,稽,黎,腾,颜,翦,潘"
+ "薛,薄,融,霍,遽,冀,穆,衡,澹台"
+ "戴,鞠,檀,糜,濮,濮阳,蹇"
+ "瞿"
+ "壤驷,酆,耀,籍"
+ "露,夔"
+ "囊,鬻";
}
</ script >
一个姓名按照笔画排序的页面相关推荐
- 【zz】如何在word中自动给姓名按姓氏笔画排序
工作中,我们常常遇见一个难题,在给领导发邮件或者是录用相关名单时,由于不知道每个人的级别,无法按照级别来进行排名,随意安放名字又会显得很不尊重.这时候我们需要按姓氏笔画或者按姓氏手写字幕排序,这里给你 ...
- java 按照笔画排序_oracle 按照拼音、部首、笔画排序
下面的方法需要ORACLE9i和以上的版本才支持. Oracle9i之前,中文是按照二进制编码进行排序的. 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINE ...
- oracle中对排序的总结(按照拼音、部首、笔画排序功能 )
-- 按拼音排序 (系统默认) select * from perexl order by nlssort(tangle,'NLS_SORT=SCHINESE_PINYIN_M'); -- 按部首排序 ...
- 巧用Excel笔画排序,实现计算汉字笔画数
点赞再看,养成习惯:皮之不存,毛将焉附. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Ex ...
- php jsp显示数据排序,JSP_SQL数据库开发中的一些精典代码,1.按姓氏笔画排序: select * From T - phpStudy...
SQL数据库开发中的一些精典代码 1.按姓氏笔画排序: select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke ...
- 【我的Android进阶之旅】Android实现中文汉字笔划(笔画)排序、中文拼音排序、英文排序的国家地区选择界面
一.需求描述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 微信:简体中文.拼音排序 微信:繁体中文.笔画排序 微信 英文 字母排 ...
- ORACLE按照拼音,部首,笔画排序
下面的方法需要ORACLE9i和以上的版本才支持. Oracle9i之前,中文是按照二进制编码进行排序的. 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINE ...
- vue生成一个姓名的头像图片Base64格式
关注微信公众号:每日玩机 获取ios.Android.tv.mac黑科技软件 本方法是写成了全局方法,用this.$userHead(name)调用,如需单独在一个页面中使用,也可以在页面中单独写成一 ...
- C语言入门:利用冒泡排序算法实现将学生姓名按字典序排序
C语言:利用冒泡排序算法实现将学生姓名按字典序排序 1.字符数组的定义与初始化 定义字符数组的一般格式为:char 数组名[常量表达式]: 字符数组的初始化有三种不同的方式:(1)用单个字符常量对字 ...
最新文章
- it行业php,什么是IT行业
- 可伸缩搜索框 旋转实现loading
- python通过什么来体现逻辑关系_Python语言通过()来体现语句之间的逻辑关系。
- 求最大素数和最小素数
- 李飞飞:在物体识别之后,计算机视觉还要多久才能理解这个世界?
- Android 系统(200)---Android build.prop参数详解
- Spring事务管理2----编程式事务管理
- AMESim中Demo简介
- c语言c11标准 下载,【整理】C语言的各种版本:C89,AMD1,C99,C11
- 数学管理联考-无限循环小数如何转化为分数
- Repo:Deep Learning with Differential Privacy
- 做为一个玩家如何架设传奇
- 关于程序员工作 交接的一些注意事项
- Element UI 图片上传功能踩坑
- 单反、微单、卡片相机的区别
- TP4056 1A锂电池充电板模块使用方法Type-C USB接口
- 01背包问题关于空间优化的讨论
- jsp327的个人目标计划时间管理系统(idea运行)ssm+mysql
- DolphinScheduler 调用flink以及api的 使用
- 太大的ppt文件怎么压缩变小
热门文章
- 软工实践2019第四次作业-结对第一次作业
- Android制作一个视频录制器
- Android如何接入渠道SDK的闪屏页?一个activity就够了
- 苹果手机能低价买?46人被骗1.5亿元
- 《Java Web从入门到精通》PDF 百度网盘
- R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数、指定na.rm参数配置删除缺失值
- 2020年Java阶段面试题(初)
- 台积电击败三星 赢得高通骁龙7nm处理器订单
- 循环神经网络(三)(常用循环神经网络,LSTM、GRU,文本生成)
- Aspose.Imaging for java 22.9最新版