
排序是我們平常代碼中經(jīng)常用到的一項功能。排序有很多種方法,如冒泡排序、選擇排序、插入排序、快速排序等等。今天我們介紹一種排序的方法,叫做冒泡排序。
冒泡排序的思路兩兩相鄰元素進行比較,有可能的話需要交換,全部比較一次(稱為一趟冒泡排序),就排好了最后一個數(shù)字的位置,一趟冒泡排序,搞定一個數(shù)字,一共有n個數(shù)字,就全部比較n-1次。
冒泡排序的代碼void Sort(int arr[], int sz)
{//趟數(shù)
int i = 0;
for (i = 0; i< sz - 1; i++)
{//一趟冒泡排序
int j = 0;
for (j = 0; j< sz - 1 - i; j++)
{if(arr[j] >arr[j + 1])
{int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{//整形數(shù)據(jù)
int arr[] = {3,1,4,2,9,8,6,7,0,5 };
int sz = sizeof(arr) / sizeof(arr[0]);
//寫一個函數(shù),對數(shù)組進行排序
Sort(arr, sz);
int i = 0;
for(i = 0; i< sz; i++)
{printf("%d ", arr[i]);
}
return 0;
}5、數(shù)組名至此,我們引出了一個問題:數(shù)組名到底代表著什么呢?
在以下兩種情況下,數(shù)組名表示首元素的地址,其他所有情況下,數(shù)組名都表示整個元素:
(1)sizeof(數(shù)組名)
(2)&數(shù)組名
例如:
#includeint main()
{int arr[10] = {0 };
printf("%p\n", arr);
return 0;
}
//此時數(shù)組名是個地址
#includeint main()
{int arr[10] = {0 };
printf("%p\n", arr);
printf("%p\n", &arr[0]);
return 0;
}
//兩個地址是一樣的,說明數(shù)組名是數(shù)組首元素的地址
#includeint main()
{int arr[10] = {0 };
printf("%p\n", arr);
printf("%d\n" ,sizeof(arr));//這里不是4/8
return 0;
}
//1、sizeof(數(shù)組名),這里的數(shù)組名表示整個數(shù)組,計算的是整個數(shù)組的大小,單位是字節(jié)
//2、&數(shù)組名,這里的數(shù)組名也表示整個數(shù)組,&取出的是數(shù)組的地址
//除了這兩種情況,其他所有的數(shù)組名都是首元素的地址 值得一提的是,盡管數(shù)組名表示不同的含義(數(shù)組首元素地址和整個數(shù)組地址),但它們?nèi)匀豢赡芟嗟取?br />比如:
#includeint main()
{int arr[10] = {0 };
printf("%p\n", arr);//首元素地址
printf("%p\n", &arr[0]);//首元素地址
printf("%p\n", &arr);//整個數(shù)組的地址
return 0;
}
//這里三個打印的地址是一樣的
//原因:整個數(shù)組的地址也是指向第一個元素的
//區(qū)別:&arr+1表示的是跳過整個數(shù)組,arr+1和&arr[0]+1表示跳過數(shù)組的首元素
//相似的,指針+1跳過幾個字節(jié)也是和指針類型有關(guān)的 6、數(shù)組實例兩個數(shù)組使用的例子,可以參考我之前的兩篇博客:
三子棋小游戲
掃雷小游戲
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站題目:《C語言你真的都掌握了嗎》——數(shù)組分享(二)-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article12/cohodc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站制作、搜索引擎優(yōu)化、標(biāo)簽優(yōu)化、ChatGPT、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容