首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

qsort()如斯强大

2012-08-17 
qsort()如此强大这是一个排序的函数,包含在头文件#includestdlib.h中。因为排序在我们的编程中经常使用到

qsort()如此强大

这是一个排序的函数,包含在头文件#include<stdlib.h>中。因为排序在我们的编程中经常使用到,然而除了研究排序算法的时候我们会自己实现排序算法。在我们平时编程,如果没有特别的要求,我们还是使用标准库中写好的函数,既是出于编码效率的问题,我们也是为了代码运行的效率。当然在特定的时候我们需要自己实现特定要求的排序代码,但是不要急,我们先见识见识标准库排序函数的强大,到后面我们会专门讨论和研究排序算法的。

  首先我们一起认识一下这个函数吧,下面是qsort()的函数原型

C语言版:#include<iostream>#include<cstdlib>using namespace std;//六面体节点struct Node{int x; //长int y; //宽int z; //高};int Comp_node(const void *a, const void *b){struct Node *node_a = (struct Node *)a;struct Node *node_b = (struct Node *)b;if (node_a->x != node_b->x){return (node_b->x - node_a->x);}if (node_a->y != node_b->y){return (node_b->y - node_a->y);}return (node_b->z - node_a->z);}int main(){int m,n;int i = 0,j = 0;struct Node node_arr[20];cin>>n;while (i<n){cin>>m;//输入m个六面体的长宽高j = 0;          //记得重新赋值为零while (j<m){cin>>node_arr[j].x>>node_arr[j].y>>node_arr[j].z;++ j;}qsort(node_arr, m, sizeof(struct Node), Comp_node);//输出排好序的结果j = 0;      //记得重新赋值为零while (j<m){cout<<node_arr[j].x<<" "<<node_arr[j].y<<" "<<node_arr[j].z<<endl;++ j;}cout<<endl;++ i;}return 0;}





热点排行