當前位置:首頁 » 編程語言 » c語言sort函數

c語言sort函數

發布時間: 2022-08-10 18:02:28

A. c語言 編寫函數sort(int*x,int n)函數

#include<stdio.h>
#include<stdlib.h>
voidsort(int*x,intn)
{
inti,j,t;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(abs(*(x+j))>abs(*(x+j+1))){
t=*(x+j);
*(x+j)=*(x+j+1);
*(x+j+1)=t;
}
}
intmain()
{
intn,i;
scanf("%d",&n);
intx[80];
for(i=0;i<n;i++)
scanf("%d",&x[i]);
sort(x,n);
for(i=0;i<n;i++)
printf("%d",x[i]);
return0;
}

B. sort函數在C語言中的作用是啥

1、sort()函數描述:對給定區間所有元素進行排序。
sort()函數語法:sort(begin,end),表示一個范圍。
2、sort()函數舉例:

#include<algorithm>
#include<iostream>
usingnamespacestd;
main()
{
inta[11]={2,4,8,5,7,1,10,6,9,3};//a的長度=待排數據個數+1
sort(a,a+10);//對[a,a+10)排序
for(inti=0;i<10;++i)cout<<a[i]<<endl;
}

C. C語言怎麼使用sort函數,求舉個簡單的例子,謝謝

用 qsort,並且要自己寫比較函數。

例如:有個 int a[1000] 的數組要排序。而比較函數你已經寫好了名字是 comp,則這樣寫:

qsort(a,1000,sizeof(int),comp);

比較函數 comp 如下:

intcomp(constvoid*a,constvoid*b)
{
return*(int*)a-*(int*)b;
}

詳細的可以查一下關於 qsort 的說明。

D. c語言數組用sort函數排序

#include<stdio.h>
#include<algorithm>
main(){
int a[10]={10,9,8,7,6,5,4,3,2,1};
std::sort(a,a+10);
for(int i=0;i<10;i++)
printf("%d\t",a[i]);}

E. c語言運用sort 排序函數,需要的頭文件是什麼

sort不屬於C語言的標准函數,所以也沒有相應的頭文件,但是可以自定義。

sort函數為將整型數組從小到大排序。

voidsort(int*a,intl)//a為數組地址,l為數組長度。

{

inti,j;

intv;

//排序主體

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

for(j=i+1;j<l;j++)

{

if(a[i]>a[j])//如前面的比後面的大,則交換。

{

v=a[i];

a[i]=a[j];

a[j]=v;

}

}}

(5)c語言sort函數擴展閱讀

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=0;i<10;i++)//輸出排序後的數組

{

printf("%d ",array[i]);

}

return0;

}

F. sort什麼意思c語言

C語言標准庫中沒有sort,sort是C++標准庫裡面的函數,在頭文件algorithm中,用於排序,一般這樣使用:

inta[10]={2,4,1,5,6,3,0,9,8,7};
sort(a,a+10);//升序排列

有時需要自定義一個比較函數:

boolcmp(inta,intb){
returna>b;
}
intmain(){
inta[10]={2,4,1,5,6,3,0,9,8,7};
sort(a,a+10,cmp);//降序排列
}

也可以利用比較函數排序自定義類型:

structA{
intx,y;
};
boolcmp(Ax,Ay){
if(A.x!=B.x)returnA.x<B.x;
returnA.y<B.y;
}
intmain(){
Aa[3]={{1,3},{2,3},{2,4}};
sort(a,a+3,cmp);//按x升序排列,若x相同按y升序排列
}

G. C語言中sort函數定義的原理

這是一個選擇排序的函數。
用sort(a,3);調用時,
第一輪內循環後,k=2
交換後,a數組成為:5,7,9
第二輪內循環後,k=1
實際並沒有交換。
sort()返回後,a數組就是5,7,9

H. sort函數在C語言中如何使用

排序(sort)
語法:
void sort();
void sort( Comp compfunction );

sort()函數為鏈表排序,默認是升序。如果指定compfunction的話,就採用指定函數來判定兩個元素的大小。

I. C程序 sort函數

C語言中沒有預置的sort函數。如果在C語言中,遇到有調用sort函數,就是自定義的一個函數,功能一般用於排序。

一、可以編寫自己的sort函數。

如下函數為將整型數組從小到大排序。

voidsort(int*a,intl)//a為數組地址,l為數組長度。

{

inti,j;

intv;

//排序主體

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

for(j=i+1;j<l;j++)

{

if(a[i]>a[j])//如前面的比後面的大,則交換。

{

v=a[i];

a[i]=a[j];

a[j]=v;

}

}}

對於這樣的自定義sort函數,可以按照定義的規范來調用。

二、C語言有自有的qsort函數。

功 能: 使用快速排序常式進行排序

頭文件:stdlib.h

原型: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

參數:

1 待排序數組首地址

2 數組中待排序元素數量

3 各元素的佔用空間大小

4 指向函數的指針,用於確定排序的順序

這個函數必須要自己寫比較函數,即使要排序的元素是int,float一類的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=0;i<10;i++)//輸出排序後的數組

{

printf("%d ",array[i]);

}

return0;

}

(9)c語言sort函數擴展閱讀:

sort函數的用法(C++排序庫函數的調用)

對數組進行排序,在c++中有庫函數幫我們實現,這們就不需要我們自己來編程進行排序了。

(一)為什麼要用c++標准庫里的排序函數

Sort()函數是c++一種排序方法之一,學會了這種方法也打消我學習c++以來使用的冒泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間復雜度為n*log2(n),執行效率較高!

(二)c++標准庫里的排序函數的使用方法

I)Sort函數包含在頭文件為#include<algorithm>的c++標准庫中,調用標准庫里的排序方法可以不必知道其內部是如何實現的,只要出現我們想要的結果即可!

II)Sort函數有三個參數:

(1)第一個是要排序的數組的起始地址。

(2)第二個是結束的地址(最後一位要排序的地址的下一地址)

(3)第三個參數是排序的方法,可以是從大到小也可是從小到大,還可以不寫第三個參數,此時默認的排序方法是從小到大排序。

Sort函數使用模板:

Sort(start,end,排序方法)

下面就具體使用sort()函數結合對數組里的十個數進行排序做一個說明!

例一:sort函數沒有第三個參數,實現的是從小到大

#include<iostream>

#include<algorithm>

using namespace std;

int main()

{

int a[10]={9,6,3,8,5,2,7,4,1,0};

for(int i=0;i<10;i++)

cout<<a[i]<<endl;

sort(a,a+11);

for(int i=0;i<10;i++)

cout<<a[i]<<endl;

return 0;

}

編譯

GCC,GNU組織開發的開源免費的編譯器

MinGW,Windows操作系統下的GCC

Clang,開源的BSD協議的基於LLVM的編譯器

Visual C++:: cl.exe,Microsoft VC++自帶的編譯器

集成開發環境

CodeBlocks,開源免費的C/C++ IDE

CodeLite,開源、跨平台的C/C++集成開發環境

Orwell Dev-C++,可移植的C/C++IDE

C-Free

Light Table

Visual Studio系列

Hello World

J. c語言中如何實現從鍵盤中輸入一個字元串設計函數sort函數實現該串中字元按從大到小輸出

#include<stdio.h>

#include<string.h>

int sort(char a[])

{

for(int i=0;i<strlen(a);i++)

for(int j=0;j<strlen(a)-i-1;j++)

if(a[j]<a[j+1])

{

char t;

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

for(int i=0;i<strlen(a);i++)

printf("%c ",a[i]);

}

int main()

{

char a[111];

gets(a);

sort(a);//調用函數

return 0;

}

熱點內容
glinux下載 發布:2024-04-25 12:30:09 瀏覽:83
安卓手機可以用的谷歌叫什麼 發布:2024-04-25 12:05:57 瀏覽:942
linux改變用戶所屬組 發布:2024-04-25 11:50:33 瀏覽:469
rsa加密演算法java代碼 發布:2024-04-25 11:40:07 瀏覽:883
如何改變拉桿箱上的初始密碼 發布:2024-04-25 11:17:23 瀏覽:799
內網掛代理虛擬機如何配置網卡 發布:2024-04-25 11:15:06 瀏覽:687
明日之後緩存怎麼清理 發布:2024-04-25 11:14:56 瀏覽:205
華為mate30怎麼退回安卓版 發布:2024-04-25 11:08:49 瀏覽:898
安卓新機使用前要注意什麼 發布:2024-04-25 11:03:46 瀏覽:811
藍鳥哪個配置有按摩 發布:2024-04-25 10:53:24 瀏覽:940