一、c語言中自有的qsort()函式
功能:使用快速排序對要排序的物件進行排序
原型:void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
引數介紹:
1)待排序陣列的首位址
2)待排序陣列中元素的個數
3)各個元素所佔的空間大小
4)指向排序規則函式的指標,確定排序的規則
注意:這個函式必須要自己寫比較函式,即使要排序的元素是int, float等基礎資料型別
二、將整數陣列去重並排序
題目描述
給定乙個整數序列,把其中重複的整數去掉,並將去重後的序列按從小到大的順序輸出
思路建立乙個陣列b,陣列中的所有元素全部初始化為0,若num在序列**現過,則b[ num ] = 1, 若num還沒有在序列**現過,則b[ num ] = 0
**
#include
#include
#define max 1001
intcmp
(const
void
*a,const
void
*b)//排序規則
intmain()
;//檢測陣列
int n, num;
int size =0;
//序列大小實時更新
scanf
("%d"
,&n)
;for
(int i=
0; i
)qsort
(a,size,
sizeof
(int
),cmp);//
for(
int i=
0; i
)//輸出去重排序後的序列
printf
("%d "
,a[i]);
printf
("\n");
return0;
}
執行結果
隨機整數陣列去重與排序
明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 n 1000 對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成 去重 與 排序...
陣列去重並排序
巢狀陣列 const foo 10,30,34,11,23,5,20,4,77 2,25,13,5,10 77 深度遞迴遍歷陣列,將所有元素和遍歷到的子陣列中的元素合併為乙個新陣列返回,使用infinity,表示可展開任意深度的巢狀陣列 const a foo.flat infinity set所有...
陣列去重並排序幾種方式
1 解析多維陣列 let array 1,2,2,3 2,3,4,5 6,6,7,8,9,11,12,12,13,14 10 陣列flat 方法可以把多維陣列解析出來 引數為解析的層數 let newarr array.flat 4 結果為 1,2,2,3,2,3,4,5,6,6,7,8,9,11,...