上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 实现功能,输入:I am a student 程序处理后输出结果:student a am I程序: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include<string.h> 4 5 int main() 6 { 7 void strShift(char *str,char *str1); 8 char str[100]; 9 char str1[100];10 gets(str);11 strShift(str,str1);12 puts(str1);13 return 0;14 ... 阅读全文
posted @ 2013-06-10 15:46 楠楠IT 阅读(1146) 评论(0) 推荐(0) 编辑
摘要: 1、冒泡排序:每次把循环过程中最大的数放到最后,循环次数每次减一。 1 void BubbleSort(int a[],int length) 2 { 3 int i,temp,num; 4 for(num=length-1;num>0;num--) 5 { 6 for(i=0;i<num;i++) 7 { 8 if(a[i]>a[i+1]) 9 {10 temp=a[i];11 a[i]=a[i+1];12 ... 阅读全文
posted @ 2013-05-28 14:22 楠楠IT 阅读(1040) 评论(0) 推荐(0) 编辑
摘要: 1、下载ISO镜像文件;2、下载安装UltraISO软件。文件-打开-ISO镜像文件;插入优盘-启动-写入硬盘映像;3、插入要安装系统的电脑,设置启动USB方式,就能安装了。 阅读全文
posted @ 2013-05-13 15:41 楠楠IT 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 全是用自己的理解写的:1、内存碎片:如果对内存反复的申请、释放,就会有一些小的不连续的内存永远得不到使用,多了就成为内存碎片了。2、死锁:线程1用着A资源,想占用B资源;此时,如果线程2正在用着B资源,却想占用A资源。这种情况谁也不同意,互掐,结果谁也进行不下去,死锁了。所以,在lock()锁线程时,嵌套一定要注意,比如:lock(A){ lock(B)}同时lock(B){ lock(A)}这种情况就很可能出现死锁的情况,多线程要小心。3、线程池:线程池就是为多线程服务的,一个线程池里面可以包含多个线程,线程池会提前为线程申请内存空间,到使用的时候不用重新申请,效率会比较高。就好比一个公.. 阅读全文
posted @ 2013-05-08 12:15 楠楠IT 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace CsharpDataStructure 7 { 8 class Program 9 {10 //声明:本程序只说明几种常见委托和代理的使用,名称的定义不是很规范11 public delegate void MyAction<T>(T obj);//自己定义的委托,无返回值,只有一个泛型参数12 static vo... 阅读全文
posted @ 2013-05-03 19:13 楠楠IT 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 #include <stdio.h> 3 #include <stdlib.h> 4 typedef struct Lnode 5 { 6 int data; 7 struct Lnode *next; 8 }Lnode; 9 using namespace std;10 11 int main()12 {13 void Push(Lnode *&lst,int e);14 int Pop(Lnode *&lst,int &x);15 int a[8]={2,9,7,23,8,68,35 阅读全文
posted @ 2013-05-01 15:34 楠楠IT 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 单链表双链表中经常纠结的概念:1、链表是否有含有头结点:(1)带头结点的链表头指针head指向头结点,数据域不含任何信息,只是指向链表的第一个保存信息的结点,head->next等于null则表示链表为空;(2)不带头结点的链表头指针head直接指向保存信息的第一个结点,head==null,表示链表为空。说道这里,有人会对头指针,头结点的概念迷糊了。。。头指针:指向链表的第一个结点,不管是不是带头结点的;头结点:只针对带头结点的链表而言,只作为链表存在的标志,不含信息。一般建立链表最好用带头结点的。 1 #include 2 #include 3 typedef struct Ln.. 阅读全文
posted @ 2013-04-29 13:32 楠楠IT 阅读(1157) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / / 6 14/ / / /4 8 12 16转换成双向链表:4=6=8=10=12=14=16 思路:二叉查找树按中序遍历得到的数据是按顺序排列的,所以要按照中序遍历的顺序把二叉树转换成链表;二叉树每一个结点有两个指针left,right,和链表的前驱和后继对应的指针正好对应。 代码: 1 #include <iostream> 2 using namespace std; 3 4 struct BSTreeNode 5 { 6 int m_nValue; /. 阅读全文
posted @ 2013-04-27 16:58 楠楠IT 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 这是斯坦福大学的公开课上关于sql数据库知识的基础测试,看看计算机顶尖学府是怎么出题的?真心有水平。You've started a new movie-rating website, and you've been collecting data on reviewers' ratings of ... 阅读全文
posted @ 2013-04-11 19:41 楠楠IT 阅读(3749) 评论(1) 推荐(1) 编辑
摘要: 1、 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。2、研究排序算法的稳定性有何意义? 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。再简单具体一点,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai仍然是在 Aj 位置前。下面我们分析一下稳定性的好处:(1)如果排序算法是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所利用。基数排序就是这样,先按低位排序,逐次按高位排序,那... 阅读全文
posted @ 2013-04-11 09:59 楠楠IT 阅读(31596) 评论(0) 推荐(5) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页