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

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

sort不属于C语言亩御数的标准函数,拆山所以也没有相迅首应的头文件,但是可以自定义。

sort 函数为将整型数组从小到大排序。

voidsort(int*a,intl)//a为数组地址,l为数组长度。

{

inti,j

intv

//排序主体

for(i=0i<l-1i++)

for(j=i+1j<lj++)

{

if(a[i]>a[j])//如前面的比后面的大,则交换。

{

v=a[i]

a[i]=a[j]

a[j]=v

}

}}

扩展资料

c语言自有的qsort函数

#include<stdio.h>

#include<stdlib.h>

intcomp(constvoid*a,constvoid*b)//用来做比较的函数。

{

return*(int*)a-*(int*)b

}

intmain()

{

inta[10]={2,4,1,5,5,3,7,4,1,5}//乱序的数组。

inti

qsort(a,n,sizeof(int),comp)//调用qsort排序

for(i=0i<10i++)//输出排序后的数组

{

printf("%d\t",array[i])

}

return0

}

有几处错误,看注释:

// 头文件写错了

#include<iostream>

// 还要引入命名空间

using namespace std

// 参数要用引用或指针,这里使用引用

void swap(int& a, int& b)

int t = a 

a = b 

b = t 

}

void bubblesort(int r[], int n)

{

// 冒泡排序逻辑有问题

for (int i = 0 i < n - 1 i++)

for (int j = 0 j <昌轿芦 n - i - 1 j++)

if (r[j] > r[j + 1]) {

swap(r[j], r[j + 1])

}

}

void main(){

int 耐带a[5] = { 28, 15, 30, 6, 22 }

cout << "排序前元素值依次为:'/t'"

for (int i = 0 i<5 i++)

cout << a[i] << " "

cout << endl

bubblesort(a, 5)

cout << "排序后元素值依次为:'/t'"

for (int i = 帆带0 i<5 i++)

cout << a[i] << " "

cout << endl

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12262210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存