-
這很簡單,但是我沒有裝的,也不會幫你看的,你看課本分類,設定一下,應該不難。
-
#include
#include
#include
intmain()
inti,j,n,k,t,a[100];
srand((unsigned)time(null));
rand() 函式用於生成隨機數,rand()%n 生成小於 n 的隨機數,然後交換這些隨機數。
執行結果:
#include
#include
intmain()
int&nbs
rand() 函式用於生成隨機數,rand()%n 生成小於 n 的隨機數,然後交換這些隨機數。
-
您可以使用 random() 函式。 首先確保陣列中有 n 個元素,然後讓 randdom() 函式生成從 0 到 n-1 的不同隨機數,然後設定另乙個變數並交換陣列中的值。
-
還有其他方法可以做到這一點,那就是使用雜湊列表,但是這樣會產生衝突,由此產生的衝突必須處理衝突,有時線性鍊表是用來處理衝突的,這很麻煩。
-
需要準備的材料有:計算機和C語言編譯器。
1. 首先,開啟 C 語言編譯器並建立乙個新的首字母。 CPP 檔案,例如:
2. 在檔案中,輸入 C 語言**:
int a[10] = ;
std::sort(a, a + 10);
for (int i = 0; i < 10; i++)printf("%d ", a[i]);
3. 編譯器執行檔案,一維陣列的 10 個整數排序成功。
-
#include
int main()
int i,j,min,t,a[10]=;
printf("排序前的順序是:");
for(i=0;i<10;i++) 輸出排序前的序列, printf("%5d",a);
printf("");
for(i=0;i<9;i++)
min=i;取每個週期的第乙個數字作為最小值(j=i+1; j<10;j++)
if(a[min]>a[j])
min=j;交換。
if(min!=i) 表示第乙個數字不是最小值,因此將 a[i+1] a[10] 中的最小值換成 a。
t=a[min];
a[min]=a;
a=t;printf("排序順序為:");
for(i=0;i<10;i++) 輸出排序序列 printf("%5d",a);
printf("");
return 0;
-
我直接分配的二維陣列的初始值。 您可以將陣列的行數和列數更改為常量。
如果要手動輸入陣列值,可以自己編寫輸入。
功能:先按公升序對每行進行排序,然後按公升序對每列進行排序。 無限迴圈,直到陣列不再更改。
也就是說,至少會有兩輪行和列順序檢測。
#include
#include
#define row 3
#define clo 4
int px(int **ns,int len);排列 void printfnums(int *nums,int r,int c); 列印陣列。
int main(),ns=null;
printf("原始陣列:");
while(1)
printf("%d 對按公升序對行和列進行排序",cnt);
for(i=0;i*ns[j])
ns[i]^=*ns[j],*ns[j]^=*ns[i],*ns[i]^=*ns[j],flag=1;
return flag;}
-
第十二回合:王熙峰下毒相思局,賈天翔在看風月。
-
#include
#include
using namespace std;
const int m=3;常量 int n=4; 2D 陣列列號 int cmp( const void *a , const void *b ) 歸類。
int main(),int b[m*n];為臨時儲存定義乙個一維陣列 int k = 0;
for(int i=0; i
如果你不一定不使用一維陣列,如果你不一定不使用 C++,你可以參考這個。
-
qsort 是編譯器庫附帶的快速排序函式。 原型是:
void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*))
引數如下:
base:要排序的陣列的第乙個位址。
num:陣列中要排序的元素數。
width:每個元素占用的空間量。
compare:指向確定排序順序的函式的指標。
比較函式指標是比較函式指標,它決定了如何排序,通過修改函式指標指向的函式體,可以對複雜型別(如結構等)進行排序。 您還可以更改排序方法,例如公升序或降序。
為了達到問題的效果,你需要在第乙個引數中傳遞資料所在行的第乙個位址,在第二個引數中傳遞一行中的元素數,在第三個引數中傳遞每個元素占用的空間,在第四個引數中傳遞自定義比較函式指標(函式名稱)。
我們以乙個 3 行 4 列整數陣列 a[3][4] 並按公升序對其第二行 (a[1]) 進行排序為例,並寫乙個 ** 來幫助理解。
#include
#include
int cmp(const void *a, const void *b)
int main()
可以看出,原始定義陣列是無序的。
int i,j;
qsort(a[1], 4, sizeof(int), cmp);
下面輸出陣列元素值以驗證排序結果。
for(i = 0; i < 3; i ++
return 0;
輸出:程式執行後:
您可以看到第二行是公升序排列的,而其他兩行保持不變。
二維陣列實際上是陣列的陣列,因此指向二維陣列的指標是指向陣列的指標。 考慮到這一點,選擇返回型別很簡單。 >>>More