文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>一些常用算法 练手的的代码

一些常用算法 练手的的代码

时间:2010-08-27  来源:assasssinx

看了平时写的一些东西 做的一些例子 让电脑按照你的意图去显示一些东西 你会发现 “原来编程真的很有意思的”

  1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.Data.SqlClient;
7 using System.IO;
8
9 namespace studyDemo
10 {
11 class Program
12 {
13 static void Main(string[] args)
14 {
15
16 //recursion(1, 0);
17 //sortDemo();
18 //commonMultiple(13, 4);
19
20 //getDir(new DirectoryInfo(@"c:\"),0);
21 //numToString(757657578);
22
23 //string str = "hello world!!";
24 //foreach (char c in str)
25 // Console.WriteLine(c);
26 }
27
28 static void numToString(int num)//把整型转换成字符串
29 {
30 char[] str = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
31 int indx = 0;
32
33 while (num > 0)
34 {
35 int tmpNum = num % 10;
36 char tmpChar;
37 switch (tmpNum)
38 {
39 case 1:
40 tmpChar = '';
41 break;
42 case 2:
43 tmpChar = '';
44 break;
45 case 3:
46 tmpChar = '';
47 break;
48 case 4:
49 tmpChar = '';
50 break;
51 case 5:
52 tmpChar = '';
53 break;
54 case 6:
55 tmpChar = '';
56 break;
57 case 7:
58 tmpChar = '';
59 break;
60 case 8:
61 tmpChar = '';
62 break;
63 case 9:
64 tmpChar = '';
65 break;
66 default:
67 tmpChar = '';
68 break;
69 }
70 if (indx < str.Length)
71 str[str.Length - indx - 1] = tmpChar;
72 indx++;
73
74 num /= 10;
75 }
76
77 Console.WriteLine(new string(str).Trim());
78 }
79
80 static void commonMultiple(int num1, int num2)//求最小公倍数 的算法
81 {
82 int comNum = 0;
83 int tmp = -1;
84 if (num1 > num2)
85 {
86 tmp = num1;
87 num1 = num2;
88 num2 = tmp;
89 }
90
91 for (int i = num2; i <= num1 * num2; i++)
92 {
93 if (i % num1 == 0 && i % num2 == 0)
94 {
95 comNum = i;
96 break;
97 }
98 }
99 if (tmp == -1)
100 Console.WriteLine("{0}跟{1}的最小公倍数是:{2}", num1, num2, comNum);
101 else
102 Console.WriteLine("{0}跟{1}的最小公倍数是:{2}",num2 ,num1 , comNum);
103 }
104
105 static void sortDemo()//排序算法
106 {
107 int[] arr = { 4, 5, 3, 678, 12, 78, 90, 1 };
108
109 for (int i = 0; i < arr.Length; i++)
110 {
111 for (int j = 0; j < arr.Length - 1; j++)
112 {
113 if (arr[j + 1] > arr[j])
114 {
115 int tmp;
116 tmp = arr[j];
117 arr[j] = arr[j + 1];
118 arr[j + 1] = tmp;
119 }
120 }
121 }
122
123 foreach (int n in arr)
124 {
125 Console.WriteLine(n);
126 }
127 }
128
129 static void getDir(DirectoryInfo dir, int level)//递归算法 遍历目录
130 {
131 foreach (DirectoryInfo d in dir.GetDirectories())
132 {
133 for (int i = 0; i < level; i++)
134 Console.Write(" ");
135 Console.WriteLine(d.Name);
136 getDir(d, level + 1);
137 }
138 }
139
140 static void recursion(int node, int level)//递归算法 树状图
141 {
142 //数据库里表的结构:
143 /*
144 * create table tree
145 * (
146 * id int primary key identity (1,1) ,
147 * nm varchar(20),
148 * pId int
149 * )
150 * id主键自增列 nm名称 pId父ID(从属于)
151 */
152 string sql = "select * from tree where pid=@1";
153 SqlConnection conn = new SqlConnection(@"server=.\sqlexpress;database=tempdb;Integrated Security=true");
154 conn.Open();
155
156 SqlCommand cmd = new SqlCommand(sql, conn);
157 cmd.Parameters.Add(new SqlParameter("@1", node));
158
159 SqlDataReader dr = cmd.ExecuteReader();
160
161 while (dr.Read())
162 {
163 for (int i = 0; i <= level; i++)
164 Console.Write("---");
165 Console.WriteLine(dr["nm"]);
166 int id = dr.GetInt32(0);
167
168 SqlConnection conn2 = new SqlConnection(@"server=.\sqlexpress;database=tempdb;Integrated Security=true");
169 conn2.Open();
170 SqlCommand cmd2 = new SqlCommand("select count(*) from tree where pid=@1", conn2);
171 cmd2.Parameters.Add(new SqlParameter("@1", id));
172 object hasChild = cmd2.ExecuteScalar();
173 if (Convert.ToInt32(hasChild) != 0)
174 recursion(id, level + 1);
175
176 conn2.Close();
177 }
178
179 dr.Close();
180 conn.Close();
181 }
182 }
183 }
184

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载