一些常用算法 练手的的代码
看了平时写的一些东西 做的一些例子 让电脑按照你的意图去显示一些东西 你会发现 “原来编程真的很有意思的”
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 staticvoid 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 staticvoid 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 case1:
40 tmpChar ='①';
41 break;
42 case2:
43 tmpChar ='②';
44 break;
45 case3:
46 tmpChar ='③';
47 break;
48 case4:
49 tmpChar ='④';
50 break;
51 case5:
52 tmpChar ='⑤';
53 break;
54 case6:
55 tmpChar ='⑥';
56 break;
57 case7:
58 tmpChar ='⑦';
59 break;
60 case8:
61 tmpChar ='⑧';
62 break;
63 case9:
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(newstring(str).Trim());
78 }
79
80 staticvoid 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 staticvoid 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 staticvoid 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 staticvoid 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
转载于:https://www.cnblogs.com/assassinx/archive/2010/08/27/1809659.html
一些常用算法 练手的的代码相关推荐
- 推荐:26种NLP练手项目(代码+数据)
1.分词 Word Segmentation chqiwang/convseg ,基于CNN做中文分词,提供数据和代码. 对应的论文Convolutional Neural Network with ...
- python常用代码_Python常用算法学习(3)(原理+代码)——最全总结
1,什么是算法的时间和空间复杂度 算法(Algorithm)是指用来操作数据,解决程序问题的一组方法,对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但是在过程中消耗的资源和时间却会有很大 ...
- [0002] Hadoop HDFS cmd常用命令练手
目的: 学会HDFS CLI 常用操作 环境: Hadoop 2.6.4 伪分布式版 环境搭建参考本博客前篇文章: 伪分布式 hadoop 2.6.4 帮助: hadoop@ssmaster:~$ h ...
- java练手代码大全手机版_20个Java练手项目,献给嗜血如狂的你
过年了都放假了,宅在家给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习.最后再通过有趣的练手项目进行 ...
- java练手代码大全手机版_20个Java练手项目,献给嗜血如狂的人
给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习.最后再通过有趣的练手项目进行巩固: JAVA基础 ...
- 10个不到500行代码的超牛Python 练手项目
10个不到500行代码的超牛Python 练手项目 图:内容概览.注:本文内容由实验楼搜集.整理自Github,实际项目版权归原作者所有. 以下10个练手项目均摘录自一本尚未出版的 Python 神书 ...
- 数据结构与算法+JVM调优和GC常用算法+数据库高级+复杂sql手写
数据结构 双向链表 二叉排序树 红黑树 散列表 双向链表: 什么是双向链表 双向链表是一种数据结构,是由若干个节点构成,每个节点由三部分构成, 分别是前驱节点,元素,后继节点,且双向链表中的节点在内存 ...
- python一千行入门代码-Python 有哪些一千行左右的经典练手项目?
谢邀.据我了解,没有千行左右的「经典」练手项目.但是我可以推荐一些练手项目.这些项目来着 教你阅读Python开源项目代码 - Python之美 - 知乎专栏 : 和工作中看别人代码差不多,基本每个人 ...
- 大鱼吃小鱼easyx_对于一个大一计科新生,有什么代码行数在 500~1000 的程序(C 语言)可以试着写来练手?...
先吐个槽:500~1000行这个要求有点--为了交作业而应付吧.如果行数不达标,或者超出了,是不是还要像中学生写作文一样凑/缩行数? ============================ 之前我们 ...
最新文章
- 东芝打印机cd40故障_东芝小尺寸UV平板机介绍
- VS.NET中的生成解决方案和重新生成解决方案有什么区别?
- 【数据结构】对排序的综合总结
- 特征阻抗输入阻抗输出阻抗_软件阻抗说明
- java maven junit_【JUnit】JUnit 与 maven 集成
- react项目中的参数解构_一天入门React学习心得
- filter IE滤镜(Internet Explorer)CSS
- python plt 批量修改全局样式
- VC知识库博客转到这里来写
- 16.2.1 连接到 SMTP 服务器
- android 网易音乐sdk,Netease Music SDK 开发文档
- linux文件系统-文件的写与读
- 阿里玄难:面向不确定性的软件设计几点思考
- wpf 点击按钮弹出新对话框_WPF学习弹出新窗口
- 关于CNN中感受野的理解和计算方法
- Android 炫酷进度条
- 终结拖延症——行动的理由
- 创业如创作,保持热爱
- 他选歌太纠结了,有时临比赛开始的前一天才能
- 【福利】2020年通信行业研究报告汇总下载(免费)
热门文章
- opencv 作图函数
- Linux启动脚本rc.local 不执行的解决方法
- linux系统的文件系统tmpfs,linux里tmpfs文件系统
- Windows Server 2008 R2 建立iSCSI存储的教程(图文) Windows iSCSI(转)
- 消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!
- Java基础学习总结(153)——HashMap、Hashtable、ConcurrentHashMap的原理与区别
- Docker学习总结(32)——Dockerfile指令详解
- Docker学习总结(31)——使用Maven插件构建docker镜像
- SQLite学习总结(1)——SQLite简介及快速入门
- Docker学习总结(19)——Google开源的容器集群管理系统Kubernetes介绍