排序和查詢

2022-06-05 15:33:11 字數 2116 閱讀 5452

//氣泡排序的過程(從小到大)

原始陣列

第一輪 1.3,9,-1,10,2

2.3,-1,9,10,2

3.3,-1,9,10,2

4.3,-1,9,-2,10

//第一大的數就移動到最後

第二輪 1.-1,3,9,-2,10

2.-1,3,9,-2,10

3.-1,3,-2,9,10

第三輪 1.-1,3,-2,9,10

2.-1,-2,3,9,10

第四輪-2,-1,3,9,10

#include//氣泡排序函式

void bubblesort(int arr,int arrlen)}}

}void main();

int arrlen=sizeof(arr)/sizeof(int);

int j;

bubblesort(arr,arrlen);//陣列預設是位址傳遞

printf("排序後");

for(j=0;j在c中,常用的查詢有兩種

#includeint seqsearch(int arr,int arrlen,int val)

//如果midval>findval說明,應該在midval的左邊查詢

if(midval>findval)else if(midvalfindval說明,應該在midval的左邊查詢

//3.如果midval多維陣列主要介紹二維陣列

比如開發乙個五子棋遊戲,棋盤就是需要二維陣列來表示

請用二維陣列輸出如下圖形

0 0 0 0 0 0

0 0 1 0 0 0

0 2 0 3 0 0

0 0 0 0 0 0

語法:型別 陣列名[大小 ] [大小]

比如:int a[2] [3]

二維陣列在記憶體的存在形式,各個元素的位址是連續分布的,即在前乙個元素基礎上加+4

#includevoid main()

}a[1][2]=1;

a[2][1]=2;

a[2][3]=3;

//輸出二維陣列

for(i=0;i<4;i++)

printf("\n");

}//看看二維陣列的記憶體布局

printf("二維陣列a的首位址=%p",a);

printf("二維陣列a[0]的位址=%p",a[0]);

printf("二維陣列a[0][0]的位址=%p",&a[0][0]);

printf("二維陣列a[0][1]的位址=%p",&a[0][1]);

//將二維陣列的各個元素的位址輸出

printf("\n");

for(i=0;i<4;i++)

printf("\n");

}getchar();

}

int arr[3] [2]=,,};

遍歷該二維陣列,並得到和

#include void main(),,};

//遍歷

//先得到行

得到這個map陣列的大小9*4=36

得到map中,第一行有多大3*4=12

int rows=sizeof(map)/sizeof(map[0]);

//printf("rows=%d",rows);

//得到列

int cols=sizeof(map[0])/sizeof(int);

int i,j,sum=0;

for(i=0;ivoid main(){

//分析

//1.建立乙個scores[3][5]

//2.遍歷,給複製

//3.再次遍歷,統計總分和平均分

//4.輸出

double score[3][5];

int rows=sizeof(score)/sizeof(score[0]),cols=sizeof(score[0])/sizeof(double),i,j;

//classtotalscore 各個班級總成績 totalscore 所有學生成績

double totalscore=0.0,classtotalscore=0.0;

for(i=0;i

查詢和排序

二分查詢演算法 def search list,m low 0 high len list 1 while low high mid low high 2 if list mid m high mid 1 elif list mid m low mid 1 else return mid retur...

排序和查詢

1 氣泡排序 雞尾酒排序 選擇排序 插入排序 快速排序 include 氣泡排序 voidmaopao int a,int n int i,j for i 0 i n 1 i for j 0 j n 1 i j if a j a j 1 swap a,j,j 1 交換兩個數 void swap in...

查詢和排序

題目描述 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。note 給出的所有元素都大於0,若陣列大小為0,請返回0。思路 折半查詢。如果a mid 大於a right left ...