- 博客(32)
- 资源 (9)
- 收藏
- 关注
原创 C语言--单链表创建、求长度、查找前驱结点、删除结点
#include#include //malloc需要此头文件//定义单链表结点结构体typedef int ElemType;typedef struct Node{ElemType data;struct Node *next;}LNode,*LinkList;//建立一个带头结点的单链表void Build(LinkList L){
2014-02-28 09:33:21 6293 1
原创 C语言实现创建单链表及求长度
#include#include //malloc需要此头文件//定义单链表结点结构体typedef int ElemType;typedef struct Node{ElemType data;struct Node *next;}LNode,*LinkList;//建立一个带头结点的单链表void Build(LinkList L){
2014-02-27 14:38:01 15080 2
转载 顺序表基本操作-C语言
#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef int status ;typedef in
2014-02-27 13:45:30 742
转载 单链表基本操作
#include#include#define ERROR 0#define OK 1typedef int status;typedef int ElemType;typedef struct Node{ ElemType data; struct Node *next;} LNode,*LinkList;void Build(LinkList
2014-02-27 13:44:31 859
转载 C语言实现二分查找
#include /*binsearch : find x in v[0] int binsearch(int x, int v[], int n){ int low, high, mid; low = 0; high = n - 1; while ( low mid = (low
2014-02-26 09:52:35 697
转载 归并排序思想
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,归并排序将两个已排序的表合并成一个表。 归并排序基本原理通过对若干个有序结点序列的归并来实现排序。所谓归并是指将若干个已排好序的部分合并成一个有序的部分。 归并排序基本思想设两个有序的子序列(相当于输入序列)放在同一
2014-02-24 21:22:49 1134
转载 堆排序思想
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>
2014-02-24 20:57:35 1241
原创 快速、冒泡、选择、直接插入C语言实现
#include//快速排序void quickSort(int a[],int left,int right){int i,j,temp;i=left;j=right;temp=a[left];if(left>right)return;while(i!=j){while(a[j]>temp&&j>i)j--;if(j>i)a[i++]=
2014-02-24 20:45:15 1174
原创 C语言实现直接插入排序
#include//直接插入排序算法void insert(int a[],int len){int i,j,temp;for(j=1;j{int b=a[j];for(i=j-1;i>=0;i--){if(b{temp=a[i];a[i]=a[i+1];a[i+1]=temp;b=a[i];}}}}void
2014-02-24 09:45:02 1501
转载 直接插入排序
前言插入排序(insertion sort)的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的序列中,直到全部记录插入完成为止.直接插入排序基本思想假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n].从i = 2起直到i = n 为止,依次将R[i]插入当前的有序区R[1..i - 1]中,生成含
2014-02-23 21:12:42 614
原创 数据结构--快速、冒泡、选择排序C语言实现
#include//快速排序void quickSort(int a[],int left,int right){int i,j,temp;i = left;j = right;temp = a[left];if(left>right)return;while(i!=j){while(a[j]>=temp &&j>i)j--;if(j>i)
2014-02-21 10:39:17 1077
转载 唐僧给孙悟空的信 谁编的?太有才了!!更现实---大学生必备网转载
唐僧给孙悟空的信 谁编的?太有才了!!更现实一、唐僧给孙悟空的信 悟空徒儿: 那天正在开会,没有接你电话。会场有监控,有些事电话也说不清楚。 回想取经路上的艰难困苦,没有你,为师早被妖怪吃掉变成肥料了。我知道,你是一个有思想、有魄力的人,现在却受了这些委屈。
2014-02-20 20:51:03 1204
转载 程序员如何快速准备面试中的算法
程序员如何快速准备面试中的算法前言 我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示: 但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速准备面试中的算法,继而推荐一些相关的书籍或资料。顺便也供节后跳槽、3月春季招聘小高潮、及6月
2014-02-20 16:36:26 1557
转载 冒泡排序--C语言实现
冒泡排序基本概念冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,
2014-02-19 21:46:47 775
转载 数据结构常考面试题
数据结构与算法,这个部分的内容其实是十分的庞大,要想都覆盖到不太容易。在校学习阶段我们可能需要对每种结构,每种算法都学习,但是找工作笔试或者面试的时候,要在很短的时间内考察一个人这方面的能力,把每种结构和算法都问一遍不太现实。所以,实际的情况是,企业一般考察一些看起来很基本的概念和算法,或者是一些变形,然后让你去实现。也许看起来简单,但是如果真让你在纸上或者是计算机上快速地完成一个算法,并且设计测
2014-02-19 21:24:56 1736
转载 快速排序详解--C语言实现
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它的数都放到它前面,所有比它
2014-02-19 09:50:41 749
原创 数据结构--内部排序读书笔记
1如果按排序过程中依据的不同原则对内部排序方法进行分类,则大致可分为插入排序、交换排序、选择排序、归并排序和计数排序等五类。如果按内部排序过程中所需的工作量来区分,则分为3类:(1)简单的排序方法,其时间复杂度为O(n2);(2)先进的排序方法,其时间复杂度为O(nlogn);(3)基数排序,其时间复杂度为O(d.n)2.直接插入排序,时间复杂度为O(n2),方法简单适合记录数量比较小的时候。
2014-02-17 16:39:49 1184
转载 数据结构之内部排序算法
内部排序算法 排序的基本概念: 把一组无序的数据元素按照关键字值递增(或递减)的顺序重新排列。 一、插入排序思想:将序列分为【有序段】与【无序段】两段,然后依次将【无序段】中的元素插入到【有序段】的正确位置。寻找元素应插入的位置可用【直接】和【折半】两种方式进行查找。 对应算法:直接插入排序、折半插入排序。以上两种算法的不同点:寻找插入位置
2014-02-17 16:36:01 615
原创 第三人称相机问题
有时候在场景中使用第三人称,这时候相机始终跟在第三人称后面,但是ASWD行走键松开后,会出现相机乱晃的情况。也就是体验效果很不好,我们不希望出现这种乱晃的情况,解决方法如下:将第三人称携带的third person camera中的Angular Max Speed参数改为0即可,此时按键松开后,不会出现相机晃动的情况,当看不到前面的场景时可以按鼠标右键可实现旋转功能,从而使漫游体验效果更加!
2014-02-17 15:37:37 1442
原创 python学习笔记--3
(21)python中的self等价于c++中self指针和java、c#中的this参考(22)python中类/对象和函数方法一样,区别只是一个额外的self变量,如: class Person: defsayHi(self): print'H
2014-02-14 13:32:59 848
原创 python学习笔记--2
(13)局部变量与全局变量(用global语句声明是全局的)def func(x): print 'x is', x x = 2 print 'Changed local x to', xx = 50func(x)print 'x is still', x 打印结果为:x is 50changed loacal x to 2x is
2014-02-13 10:52:22 896
原创 python学习笔记--1
python学习笔记1、 对于windows系统,首先要安装python,从网站上下载python2.3.4大约9.4M。下载后,有个python23的文件夹,打开后双击python.exe进行安装即可。然后,设置环境变量,在系统变量的PATH后面加上;F:\Python23(python所在的目录名)。最后点击开始->程序->Python2.3->IDLE(pythonGUI),选择文件->
2014-02-12 21:24:00 1147
原创 数据结构算法-3
3.n阶Hanoi塔问题的C函数void hanoi(int n,char x,char y,char z){//将塔座x上按直径由小到大且自上而下编号为1到n个n个圆盘按规则搬到塔座z上,y//可用作辅助塔座,搬动操作move(x,n,z)可定义为(c是初值为0的全局变量,对搬动计数)if(n==1) move(x,1,z);else {
2014-02-12 15:41:50 769
转载 python实现简易联系人
创建你自己的命令行 地址簿 程序。在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。[python] view plaincopy''''' Created on 2013-8-6 @author: Administrator '
2014-02-12 14:14:49 1387
转载 python通讯录实现
1.什么(分析)Python 创建你自己的命令行 地址簿 程序;在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。 2.如何(设计)创建一个类来表示一个人的信息。使用字典储存每个人的对象,把他们的名字作为键。使用cPickle模块永久地把这些对
2014-02-12 14:02:29 5325
原创 python缩进区别
仔细观察下面两个python程序,代码一模一样,但是运行的结果却不同,就是因为最后一行return缩进的不同def powersum(power, *args): '''Return the sum of each argument raised to specified power.''' total = 0 for i in args: to
2014-02-12 10:19:54 1273
转载 python读写文件
文件你可以通过创建一个file类的对象来打开一个文件,分别使用file类的read、readline或write方法来恰当地读写文件。对文件的读写能力依赖于你在打开文件时指定的模式。最后,当你完成对文件的操作的时候,你调用close方法来告诉Python我们完成了对文件的使用。使用文件例12.1 使用文件#!/usr/bin/python# Filename: us
2014-02-11 21:35:45 625
转载 python中的构造函数和析构函数
python中的特殊方法,其中两个,构造函数和析构函数的作用: 比说“__init__”这个构造函数,具有初始化的作用,也就是当该类被实例化的时候就会执行该函数。那么我们就可以把要先初始化的属性放到这个函数里面。如下程序: 其中的“__del__”就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其
2014-02-11 21:14:03 1521
转载 python在windows下的备份程序
我看的是《python简易教程》,里面讲的是在linux下的,我懒得切换系统,就像在xp上测试一下,代码都差不多相同,就是到执行打包的时候是不一样的。要用到winrar,其他的压缩文件也是一样的。 首先我们要把winrar的路径添加到path里面,这里添加完了要重启机子才有效。PS:我就纠结在这里N久,为什么我老是打包失败,原来path的设定还没有起作用,切记要重启哦
2014-02-11 15:54:14 668
原创 数据结构算法—2
12.将两个有序链表并为一个有序链表void MergeList_L(LinkList &La,LinkList&Lb,LinkList &Lc){//已知单链线性表La和Lb的元素按值非递减排列,归并La和Lb得到新的单链线性表//Lc,Lc的元素也按值非递减排列pa = La->next; pb = Lb->next;Lc = pc =La; //用La的头结点作为
2014-02-11 11:06:29 1021
转载 python中单引号,双引号,多引号区别
先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使用\ (“连行符”)吧,如 s2 = "hello,\ world" s2与s1是一样的。如果你用3个双引号的话,就可以直接写了,如下: s3 = """hello, world, hahaha.""",那么s3实际上就是"h
2014-02-10 21:12:53 629
原创 数据结构算法-1
Void union(List &La,List Lb)//将所有在线性表Lb中但不在La中的数据元素插入到La中 { La_len = ListLength(La);Lb_len =ListLength(Lb);//求线性表的长度 For(i= 1;i { GetElem(Lb,i
2014-02-10 17:32:03 1036
失控电子版
2015-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人