Gear.Turbo

01 2007 档案

八皇后问题(C#)
摘要:传说中的八皇后问题,想了n年,想的头疼,想的睡不着觉,想的不吃饭!上网搜别人的程序,一看就头疼,不是很复杂代码凌乱没法看就是千篇一律的blog抄袭,就是不想看。今天突然豁然开朗,思路清晰的不得了,emacs上几行代码变实现:: ) using System;class Queen{ int[] data = new int[8]; //记录每一行的皇后放置位置 int c... 阅读全文

posted @ 2007-01-18 17:42 lsp 阅读(635) 评论(0) 推荐(0)

分数化小数(C#)
摘要:看别人blog发现了如下一个题目:1993年美国计算机程序设计资格赛试题第一题:分数变小数写出一个程序,接受一个以N/D的形式输入的分数,其中N为分子,D为分母,输出它的小数形式。如果它的小数形式存在循环节,要将其用括号括起来。例如:1/3=.33333...表示为.(3),又如4l/333=.123123123...表示为.(123)。一些转化的例子:1/3=.(3)22/5=4.41/7=.(... 阅读全文

posted @ 2007-01-18 13:21 lsp 阅读(1699) 评论(0) 推荐(0)

1*3*5*7....*1997
摘要:看见别人的blog里有个问题是这样的:1*3*5*7....*1997的值是多少,它是用数组解决的,觉得不是很好,它定义了一个4000维的数组,然而这个4000是怎么得出的?不知道,因此,我用双向链表解决此问题: using System;class Node{ int _data; public Node before; public Node next; public ... 阅读全文

posted @ 2007-01-17 09:13 lsp 阅读(192) 评论(0) 推荐(0)

C#二分查找
摘要:二分递归查找,很简单,就不注释了: ) using System;class BinarySearch{ public int search(int[] A, int p, int q, int key) { int result = -1; if (p >= q && key == A[p]) { res... 阅读全文

posted @ 2007-01-11 17:40 lsp 阅读(2226) 评论(6) 推荐(1)

C#递归插入排序
摘要:用递归的插入排序方式,时间复杂度和普通的插入排序一样,没什么本质的改进,无非循环变递归而已: ) using System;class Insertion2{ public void sort(int[] A, int p, int q) { if (p=0 && A[i]>key) A[i+1] = A[i--]; A[i+1] = key; ... 阅读全文

posted @ 2007-01-11 16:34 lsp 阅读(487) 评论(0) 推荐(0)

C#合并排序
摘要:基于分治思想的合并排序,算法导论中的思考题,不加哨兵牌(sentinel card)的实现方式,实现很简单 : ) using System;class MergeSort{ public void merge(int[] A, int p, int q, int r) { int n1 = q-p+1; int n2 = r-q; int[]... 阅读全文

posted @ 2007-01-11 12:52 lsp 阅读(626) 评论(0) 推荐(0)

C#Stooge排序
摘要:传说中的Stooge排序,不知效率如何,也没弄明白排序原理,等有时间了研究一下,也请大虾指教: using System;class Stooge{ public void sort(int[] data, int i ,int j) { if (data[i]>data[j]) { int t = data[i]; ... 阅读全文

posted @ 2007-01-10 22:45 lsp 阅读(382) 评论(1) 推荐(0)

c#选择排序
摘要:最简单的排序,写出来复习一下,不做注释了: ) using System;class Insertion{ public void sort(int[] data, int len) { for (int i=0; i<len-1; i++) for (int j=i+1; j<len; j++) if (data[j]<dat... 阅读全文

posted @ 2007-01-10 22:43 lsp 阅读(681) 评论(2) 推荐(0)

C#插入排序
摘要:简单的,只为自己写下来熟悉一下,就不用注释了,呵呵: using System;class Insertion{ public void sort(int[] data, int len) { for (int i=1; i=0 && data[j]>key) { data[j+1]=data[j]; ... 阅读全文

posted @ 2007-01-10 18:00 lsp 阅读(335) 评论(0) 推荐(0)

导航