新聞中心
C語言中通過函數(shù)調(diào)用對一維數(shù)組進(jìn)行排序
#include stdio.h
在臨海等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,臨海網(wǎng)站建設(shè)費用合理。
#include stdlib.h
#include time.h
#define MAXlen 100
void select_sort(int *x, int n) { //選擇排序
int i, j, min;
int t;
for (i = 0; i n - 1; i++) { // 要選擇的次數(shù):0~n-2共n-1次
min = i; // 假設(shè)當(dāng)前下標(biāo)為i的數(shù)最小,比較后再調(diào)整
for (j = i + 1; j n; j++) { //循環(huán)找出最小的數(shù)的下標(biāo)是哪個
if (*(x + j) *(x + min)) {
min = j; // 如果后面的數(shù)比前面的小,則記下它的下標(biāo)
}
}
if (min != i) { // 如果min在循環(huán)中改變了,就需要交換數(shù)據(jù)
t = *(x + i);
*(x + i) = *(x + min);
*(x + min) = t;
}
}
}
int main() {
int i;
int iArr[MAXlen];
srand((unsigned int)time(NULL));
printf("\n排序前:\n");
for(i = 0 ; i MAXlen ; i++) {
iArr[i] = (unsigned int)rand() % 1000;
if(i % 10 == 0) printf("%\n");
printf("%5d",iArr[i]);
}
printf("\n");
select_sort(iArr,MAXlen);
printf("\n排序后:\n");
for(i = 0 ; i MAXlen ; i++) {
if(i % 10 == 0) printf("%\n");
printf("%5d",iArr[i]);
}
printf("\n\n");
return 0;
}
C語言編寫函數(shù),數(shù)組排序
void Swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void Selectsort(int *arr, int sz)
{for (int end=sz-1; end=0; end--)
{
int max = end;
int i;
for ( i = 0; i = end; i++)//選出最大下標(biāo)
{
if (arr[i] arr[max])
{
max = i;
}
}
Swap(arr, arr[max]);
}
}
int main()
{
int arr[5] = { 1, 3, 2, 5, 4 };
int sz = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i = sz - 1; i++)
{
scanf("%d", arr[i]);
}
Selectsort(arr, sz);
for (int i = 0; i = sz - 1; i++)
{
printf("%d ", arr[i]);
}
system("pause");
return 0;
}
擴(kuò)展資料:
printf函數(shù)使用注意事項
1、域?qū)?/p>
%d:按整型數(shù)據(jù)的實際長度輸出。
如果想輸出指定寬度可以指定域?qū)挘?md--gt;m域?qū)?打印出來以后,在控制臺上,顯示m位;
如果要打印的數(shù)的位數(shù)如果超過我們設(shè)定m則原樣輸出;
如果要打印的數(shù)的位數(shù)如果小于設(shè)定的位數(shù),則補(bǔ)空白,具體如下:
如果m為正數(shù),則左對齊(左側(cè)補(bǔ)空白);
如果m為負(fù)數(shù),則右對齊(右側(cè)補(bǔ)空白)。
2、轉(zhuǎn)義字符
如果想輸出字符"%",則應(yīng)該在“格式控制”字符串中用連續(xù)兩個%表示。
如:printf("%f%%",1.0/3);輸出結(jié)果:0.333333%。
C語言。數(shù)組排序函數(shù)(數(shù)組,函數(shù),排序)
//#include "stdafx.h"http://vc++6.0加上這一行.
#include "stdio.h"
void Sort(int *p,int n){
int i,j,k;
for(i=0;i10;i++){
for(k=i,j=i+1;j10;j++)
if(p[k]p[j]) k=j;
if(k!=i){
j=p[k];
p[k]=p[i];
p[i]=j;
}
}
}
void main(void){
int mat[10],i;
printf("Type 10 integers...\n");
for(i=0;i10;scanf("%d",mat+i++));
Sort(mat,10);
for(i=0;i10;printf("%d ",mat[i++]));
printf("\n");
}
名稱欄目:C語言對數(shù)組排序函數(shù),c語言數(shù)組的排序方法
文章位置:http://fisionsoft.com.cn/article/dsspjgj.html