
算法(数据结构)
eldn__
这个作者很懒,什么都没留下…
展开
-
数据结构算法----排序(1)----插入排序
要参加11月份的软考了,重新拾起严蔚敏老师写的《数据结构》,在此记录研读过程中的所思所悟。以后的算法都是以算法函数+测试实例的形式给出,当然如果时间允许的话,我会把晦涩难以理解的地方解释一下:demo:/*------------------直接插入排序-----------*/#include using namespace std;void Insertsort原创 2012-10-22 15:37:16 · 681 阅读 · 0 评论 -
数据结构算法----排序(2)----冒泡排序
/*------------------冒泡排序-----------*/#include using namespace std;void Bubblesort(int data[],int n){ int i,j,tag; tag=1; for(i=1;tag==1&&i<n;i++) { tag=0; for(j=1;j<=n-i;j++) {原创 2012-10-22 16:32:58 · 778 阅读 · 0 评论 -
数据结构算法----排序(3)----简单选择排序
/*------------------ 选择排序-----------*/#include using namespace std;void Selectsort(int data[],int n){ int i,j,k; for(i=1;i<n;i++) { k=i; for(j=i+1;j<n;j++) { if(data[j]<data[k]) k=原创 2012-10-22 16:58:58 · 609 阅读 · 0 评论 -
数据结构算法----排序(4)----简单选择排序
#include using namespace std;void Shellsort(int data[],int n){ int *delta,k,i,t,dk,j; k=n; //申请存储空间,取总数组元素个数的一半,只多不会少,保证了足够使用 delta=(int *)malloc(sizeof(int)*(n/2)); i=0; do{ k=k/2; de原创 2012-10-23 17:17:28 · 1033 阅读 · 0 评论 -
数据结构算法----排序(5)----快速排序
#include using namespace std;void quicksort(int data[],int low,int high){ int i,j,pivot; if(low<high) { i=low; j=high; pivot=data[low]; while(i<j) { while(i=pivot原创 2012-10-23 19:59:34 · 749 阅读 · 0 评论 -
南阳理工oj题目练习---括号配对问题
以下是我的算法:#include using namespace std;int IsMatch(char* str){ char stack[10000]; int i=0; memset(stack,0,sizeof(stack)); char *p=str; if(*p==']' || *p==')') return 0; while(*p!='\0') {原创 2012-11-15 22:00:48 · 1261 阅读 · 1 评论 -
南阳理工oj题目练习---Binary String Matching
我的代码:#include #include using namespace std;int main(){ int N,pos,count; string A,B; cin>>N; while(N--) { cin>>A>>B; count=pos=0; while(pos=B.find(A.c_str(),pos),pos!=string::npos)原创 2012-11-15 22:26:49 · 2040 阅读 · 2 评论 -
南阳理工oj题目练习---ASCII码排序
我的算法:#include #include using namespace std;int main(){ int N,flag=0; char s[4],temp; memset(s,0,sizeof(s)); cin>>N; while(N--) { cin>>s; for(int i=0;i<3;i++) { flag=0; for(i原创 2012-11-15 22:11:45 · 2569 阅读 · 0 评论 -
街区最短路径问题
描述一个街区有很多住户,街区的街道只能为东西、南北两种方向。住户只可以沿着街道行走。各个街道之间的间隔相等。用(x,y)来表示住户坐在的街区。例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。现在要建一个邮局,使得各个住户到邮局的距离之和最少。求现在这个邮局应该建在那个地方使得所有住户距离之和最小; 输入第一行一个转载 2013-05-01 18:12:28 · 960 阅读 · 0 评论