最近刷题的一点总结
2014-12-29 19:05
246 查看
有些问题总是不停的忘,感觉还是记下来作为备忘录比较好!
在便携式算法刷题之中用到的最多的一个函数式排序函数,尽管排序算法很多,比如冒泡,插入,快排,堆排等等,实际上大家都没有亲自去实现,而是调用c++或者java中的模板来实现的,由于下学期的助教要担任c++/c程序设计,现将其调用方式在重复一遍,而且实际桑记住一个就可以了。这里就说明一下qsort吧
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int a;
int b;
} node;
递增的排序方式
int cmp1(const void * a,const void * b){
node aa=*((node *)a);
node bb=*((node *)b);
if(aa.a>bb.a){
return 1;
}
else if(aa.a==bb.a){
return 0;
}
else{
return -1;
}
}
递减的排序方式
int cmp1(const void * a,const void * b){
node aa=*((node *)a);
node bb=*((node *)b);
if(aa.a>bb.a){
return 1;
}
else if(aa.a==bb.a){
return 0;
}
else{
return -1;
}
}
调用的模板例子
C语言版
num=100;
node * nodes=(node *)malloc(num*sizeof(node));
qsort(nodes,num,sizeof(node),cmp1);
free(nodes);
C++版
num=100;
node * nodes=new node[num];
qsort(nodes,num,sizeof(node),cmp1);
delete nodes;
在便携式算法刷题之中用到的最多的一个函数式排序函数,尽管排序算法很多,比如冒泡,插入,快排,堆排等等,实际上大家都没有亲自去实现,而是调用c++或者java中的模板来实现的,由于下学期的助教要担任c++/c程序设计,现将其调用方式在重复一遍,而且实际桑记住一个就可以了。这里就说明一下qsort吧
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int a;
int b;
} node;
递增的排序方式
int cmp1(const void * a,const void * b){
node aa=*((node *)a);
node bb=*((node *)b);
if(aa.a>bb.a){
return 1;
}
else if(aa.a==bb.a){
return 0;
}
else{
return -1;
}
}
递减的排序方式
int cmp1(const void * a,const void * b){
node aa=*((node *)a);
node bb=*((node *)b);
if(aa.a>bb.a){
return 1;
}
else if(aa.a==bb.a){
return 0;
}
else{
return -1;
}
}
调用的模板例子
C语言版
num=100;
node * nodes=(node *)malloc(num*sizeof(node));
qsort(nodes,num,sizeof(node),cmp1);
free(nodes);
C++版
num=100;
node * nodes=new node[num];
qsort(nodes,num,sizeof(node),cmp1);
delete nodes;
相关文章推荐
- 最近学习ffmpeg的一点总结
- 网络流最近的一点总结
- 最近工作生活的一点小总结
- 最近的一点小总结
- 最近状况的一点总结(2014年上半年总结)
- 最近的一点工作总结
- 最近几次都遇到了sizeof,但是每次都有一点蒙B的感觉,今天总结一下;
- 最近工作的一点总结
- 最近看代码的一点总结
- 新公司的一点感悟和最近一段时间的工作总结及其将来展望.
- 最近面试的一点感悟和总结
- 最近使用Spring的一点总结
- 最近的一点总结
- 最近的一点总结
- 最近面试的一点感悟和总结
- AIX环境下用磁带进行备份与恢复工作的一点总结
- 最近开发一个SQL server大数据量统计系统的经验总结
- 总结一下自己最近经常去的十大网站
- 关于对xmms安装过程的一点总结!
- 最近对网络很感兴趣,也总结了一些网络上的知识