一、写一个算法对1,8,5,2,4,9,7进行顺序排列并给出所使用方法。
我所用的方法:
int[] a={1,8,5,2,4,9,7}; for(int i=0;i<a.length;i++){ for(int j=i+1;j<a.length;j++){ if(a[i]>a[j]){ //通过交换位置进行排序 int k=a[i]; a[i]=a[j]; a[j]=k; } } System.out.print(a[i]+","); } |
编程思想:看到题目上的数字,首先应该想到循环输出,自然想到for循环了,接下来就要思考输出的顺序了。对于新手来说顺序输出应该有点难度,通过比较数字大小来排序输出,利用数组顺序输出并在控制台打印出。
在网上搜集到的方法:
//用连性表的 形式 这样可以做到释放内存 同时高速排序数量小的情况 用楼上的 数量多 用这种 高速高效 TreeMap demo = new TreeMap(); demo.put("1",null); demo.put("8",null); demo.put("5",null); demo.put("2",null); demo.put("4",null); demo.put("9",null); demo.put("7",null); Iterator it= demo.keySet().iterator(); while(it.hasNext()){ System.out.print(it.next()+","); } it.remove(); demo.clear(); |
二、一个简单的银行账务系统,其数据大致涉及:
客户(客户名、身份证号,年龄,性别,住址,电话);
存款账户(账号,类别,余额);
存款帐分录(交易日期,借贷标志,金额)。
1.采用任一主流数据库(oracle,DB2,MS SQL Server,Mysql)等DDL写出表的定义。
2.列出某客户(张三)之所有账户号;
3.李四是一位新开户的客户,添加所涉及的数据库表;
4.列出客户(李四)在2012/3/1到2012/3/7期间发生的交易金额记录。
如果是去涉及到银行开发的公司第二题这种类型的数据库题目是必考的,迄今为止,本人还没能全部写出,希望IT大神不吝赐教,写出您的思考方法,好让以后面试此类题的人能得心应手。