猿问
下载APP

请问c语言运用sort 排序函数,需要的头文件是什么?

c语言运用sort 排序函数,需要的头文件是什么?


陪伴而非守候
浏览 118回答 5
5回答

呼啦一阵风

 &nbsp;sort不属于C语言的标准函数,所以也没有相应的头文件。但是可以自定义。  排序方法很多,程序都很简单,都能自定义。  常用的有:直接插入排序:&nbsp;void InsertSort(LineList R[],int n){ int i,j;&nbsp;for (i=2;i<=n;i++)&nbsp;&nbsp;&nbsp; if( R[i].key<R[i-1].key)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {R[0]=R[i];/*监视哨*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j=i-1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (R[0].key<R[j].key)&nbsp;&nbsp;&nbsp; {R[j+1]=R[j];j--;}R[j+1]=R[0];}}直接选择排序&nbsp;void SelectSort(LineList R[],int n){int i,j,k;LineList tmp;for (i=0;i<n-1;i++){&nbsp; k=i;&nbsp; for (j=i+1;j<n;j++)&nbsp;&nbsp;&nbsp; if (R[j].key<R[k].key)&nbsp; k=j; tmp=R[i]; R[i]=R[k];R[k]=tmp;}}冒泡排序&nbsp;void BubbleSort(LineList R[],int n){int i,j,exchange;&nbsp;&nbsp; LineList tmp;&nbsp;&nbsp; for (i=0;i<n-1;i++)&nbsp;&nbsp;&nbsp;&nbsp; {exchange=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;for (j=n-1;j>i;j--)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if (R[j].key<R[j-1].key)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { tmp=R[j];&nbsp; /*R[j]与R[j-1]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R[j]=R[j-1];R[j-1]=tmp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exchange=1;}&nbsp;&nbsp;&nbsp;&nbsp; if (exchange==0) return;&nbsp;&nbsp; }}还有希尔排序、快速排序、归并排序、堆排序等等,一般的《数据结构》都有排序一章,可参阅。&nbsp;

慕用2447696

sort(),qsort()排序函数一.sort函数常用于C++中,头文件为algorithm.h。用法:sort(first,last)在[first, last)中的元素进行排序按升序排列注意:sort默认排序后是升序。如果要想按降序排列,需自己编写一个比较函数来实现。函数名...................功能描述sort........................对给定区间所有元素进行排序stable_sort.........对给定区间所有元素进行稳定排序partial_sort........对给定区间所有元素部分排序partial_sort_copy..........对给定区间复制并排序nth_element...................找出给定区间的某个位置对应的元素is_sorted...........................判断一个区间是否已经排好序partition...........................使得符合某个条件的元素放在前面stable_partition............相对稳定的使得符合某个条件的元素放在前面二、qsort()函数功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序

撒科打诨

在stdlib.h头文件中。有qsort() //快速排序qsort函数,也就是快速排序算法,在C的<stdlib>库中,需加入头文件#include <cstdlib> 或#include <stdlib.h>。调用qsort函数需要写cmp比较函数。给出按升序排列的例子:int cmp(const void* a, const void* b)  //注意这里是int{return (int*)a - (int*)b;}调用:qsort(a, n, sizeof(int), cmp);//a为数组,n为个数如果需要按照自己的意愿排列,那么同样重写cmp比较函数,就可以完成,和sort函数类似。时间复杂度为O(n log n),但是某些情况要比sort函数好。

烧仙草VB

#include<iostream.h> :cin>>... (输入函数) ; cout<<...(输出函数)2#include<stdlib.h> :(1)void exit(int)函数 终止程序运行(2)int rand()函数 能够返回0~32767之间的随机整数(3)rand()%n可以产生0~n-1 范围的任意随机整数(4)void* calloc(unsigned int n,unsigned int size)函数用来动态分配n个连续存储位置;(5)void malloc(int size)函数 用来动态分配大小为size个字节的存储空间;(6)void realloc(int size) 用来动态分配大小为size个字节的"新"存储空间;(7)void free(void *p) 释放由参数p所指向的动态存储空间3#include<string.h> 字符串操作的头文件(1)int strlen(const char *s):求串长度(2) char strcpy(char *dest,const char *src) 串复制(3) ... strcat(str1,str2) 串连接(4) ... strcmp(str1,str2) 串比较(5) ... strchr(str,字符) 串定位(6) ... strrchr(str,字符) 串右 定位(7) ... strstr(str1,str2) 串查找(在str1中找str2)

45度呼吸

#include <algorithm>#include <iostream>using namespace std;main(){int a[11]={2,4,8,5,7,1,10,6,9,3};//a的长度=待排数据个数+1sort(a,a+10);//对[a,a+10)排序for(int i=0;i<10;++i) cout<<a[i]<<endl;}
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答