Data Structures & Algorithms
乔哥哥
这个作者很懒,什么都没留下…
展开
-
冒泡排序
public class BubbleSort { public static void sort(int [] arr){ int arrLength=arr.length; int temp; for(int i=0;i<arrLength;i++){ for(int j=0;j<arrLength-1-i;j++){ if(arr[j+1原创 2011-11-10 14:29:21 · 657 阅读 · 2 评论 -
12.汉诺塔(队列实现)
数据结构采用的 顺序队列#include #include #include using namespace std;#define MAX 100 int num=0;typedef struct stack { int disc[MAX]; int top; char flag; }stack;voi原创 2012-05-16 16:32:09 · 3243 阅读 · 0 评论 -
11.快速排序
#include #include using namespace std;void quickSort(int * arr,int i,int j){ int temp=arr[i]; int left=i; int right=j; while(i<j){ while(arr[j]>temp && j>i原创 2012-04-18 22:07:02 · 450 阅读 · 0 评论 -
双向链表实现 插入删除
#include "stdafx.h"#include "stdio.h"#include "stdlib.h"//双向链表 结点typedef struct Node{ int data; Node * prior; Node * next;}Node;//链表管理 节点typedef struct Link{ Node * front; Node * rear;原创 2012-04-23 16:39:56 · 1090 阅读 · 0 评论 -
10.删除顺序表中小标从i到j的所有元素
#include #include #define NUM 100 using namespace std;typedef struct { int arr[NUM]; int length; }Node; void inital(Node &node){ int i=0; for(;i<node.length;i++){ node.a原创 2012-04-09 22:40:19 · 1101 阅读 · 0 评论 -
DEV-C++调试问题
最近在 复习数据结构,有的时候需要c语言代码实现一些算法,但是原来一直没找到什么好的软件, vc6.0 win7不兼容vs2008等 太大了 所以我选用了 devC++这个开发软件。 在使用DevC++ 时我发现一个问题: 默认设置下不能调试代码, 这个问题很严重。 后来发现 只要设置一下就能调试了。 具体设置步骤如下:工具——》编译选项--原创 2012-03-22 22:31:50 · 3938 阅读 · 0 评论 -
1.有序顺序表的插入
#include #include using namespace std;//定义顺序表的大小#define MAX 100 //定义顺序表接点typedef struct Node{ int data[MAX]; int length; }Node; //查找插入位置int getLocation(Node原创 2012-03-21 21:41:20 · 3034 阅读 · 0 评论 -
9.逆置顺序表中的所有元素
#include #include using namespace std;#define NUM 100//顺序表结点定义typedef struct { int arr[NUM]; int length; }Node; //初始化顺序表void initial(Node &node){ int i=1; for(i=1;i<=node.原创 2012-04-08 22:45:05 · 1272 阅读 · 0 评论 -
8.n个字符的全排列(递归实现)
#include #include using namespace std; /** 用递归算法求 n 个字符的全排列 */ void sort(char param[],int length,int k ){ if(k==0){//排列结束 输入一个结果 int i=0; for(i=0;i<length;i原创 2012-04-02 12:07:47 · 1157 阅读 · 0 评论 -
7.动态构造二维数组
//构造10*10的二维数组 int * a[10]; int i=0; for(i=0;i a[i]=(int *)malloc(sizeof(int)*10);原创 2012-03-30 17:12:54 · 589 阅读 · 0 评论 -
6.大数相加优化---
#include #include using namespace std; int result[100]; int length=0;//构造顺序表 void add(char a[],char b[]){ int i; int j; int m=0;//余数 int n=0; //进位数 for(i=s原创 2012-03-30 16:48:48 · 629 阅读 · 0 评论 -
5.大数相加
#include #include using namespace std; int result[100]; int length=0;//构造顺序表 //数组的逆置 void reverse(char* &a){ int i=0; int j=strlen(a)-1; int temp; while(i<j){原创 2012-03-28 16:45:14 · 455 阅读 · 0 评论 -
4.单链表查找接点并删除
#include #include using namespace std;//定义单链表的接点typedef struct Node{ int data; struct Node * next; }Nodes; //创建链表 头插法void createListHead(Node * &node原创 2012-03-24 00:07:39 · 881 阅读 · 0 评论 -
3.两个有序单链表合并为一个有序的单链表
单链表的基本操作 包括 :链表的创建(头插法,尾插法),链表的遍历,两个单调递增的链表合并为一个单调递增的链表,两个单调递增的链表合并为一个单调递减的链表 #include #include using namespace std;//定义单链表的接点typedef struct Node{ int data; struct Node * ne原创 2012-03-23 15:24:37 · 5313 阅读 · 0 评论 -
感悟-----
最近似乎有点浮躁,其实也没啊,呵呵。。。 感悟:永远都要谦虚,都要觉得自己不会的太多了,只有这样,我们才会学到更多的东西!!!!原创 2012-03-24 00:10:06 · 712 阅读 · 1 评论 -
插入排序
public class InsertSort { public static void sort(int []arr){ int arrLength=arr.length; int temp; int in;//插入排序左边部分 for(int out=1;out<arrLength;out++){ temp=arr[out]; in=ou原创 2011-11-11 11:20:15 · 579 阅读 · 2 评论 -
选择排序
public class SelectSort { public static void sort(int[] arr) { int arrLength = arr.length; int temp; int min;// 最小值的下标 for (int i = 0; i < arrLength; i++) { min = i; for (int j原创 2011-11-10 10:29:54 · 486 阅读 · 1 评论 -
二分搜索
public class BinarySearch { public static int find(int searchKey, int[] orderArray) { int lowBound = 0; int highBound = orderArray.length - 1; int curIn; while (true) { curIn = (原创 2011-11-09 22:27:07 · 462 阅读 · 1 评论 -
16.根据输入的日期输出星期几(已知公元1年1月1日星期一)
#include #include using namespace std;int months[]={31,28,31,30,31,30,31,31,30,31,30,31};int IsLeap( int year) {if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0)) { return 1;//闰年原创 2012-06-10 00:41:51 · 9553 阅读 · 2 评论