本題要求將給定的n個整數從小到大排序後輸出。輸出時相鄰數字中間用乙個空格分開,行末不得有多餘空格。
#include
# define maxn 10
intmain()
//從後往前兩兩比較相鄰元素的值
for( i=
1;i}for
(i=0
;i)return0;
}
本題要求將給定的n個整數從小到大排序後輸出。輸出時相鄰數字中間用乙個空格分開,行末不得有多餘空格。
#include
# define maxn 10
intmain()
for(k=
0;k1;k++
)}
temp=a[index]
;a[index]
=a[k]
;a[k]
=temp;
}for
(i=0
;i)else
}printf
("\n");
return0;
}
本題要求編寫程式,將乙個給定的整數插到原本有序的整數序列中,使結果序列仍然有序。
輸入在第一行先給出非負整數n(n <10);第二行給出n個從小到大排好順序的整數;第三行給出乙個整數x。
在一行內輸出將x插入後仍然從小到大有序的整數序列,每個數字後面有乙個空格。
51 2 4 5 7
31 2 3 4 5 7
#include
#define maxn 10
intmain()
for(i=
0;i)scanf
("%d"
,&a[i]);
scanf
("%d"
,&x)
;for
(i=0
;i) a[i]
=x;break;}
else
if(i==n-1)
} n++
;//總數加1
for(i=
0;i)return0;
}
按照從小到大的順序,輸入n個整數並存入陣列a中,然後在陣列a中查詢給定的x。如果陣列a中的元素與x的值相同,輸出相應的下標(下標從0開始);如果沒有找到,輸出「not found」。如果輸入的n個整數沒有按照從小到大的順序排列,或者出現了相同的數,則輸出「invalid value」。
1 檢查數列是否完全遞增
2 不斷將x與mid比對,調整縮小left與right的範圍
3 用變數found確定是否找到
#include
# define maxn 10
intmain()
sorted=1;
for(i=
1;iif(sorted ==0)
else
else
if(x)else}if
(found !=0)
else
}return0;
}
幾種查詢方法
前言 在乙個陣列中,對於資料的查詢方法有多種,下面介紹幾種最常見的元素查詢 1 普通查詢 這是最簡單粗暴的查詢方式,通過遍歷所有元素,找到最陣列中的位置。通過 簡單實現 include include include define max 10 int searchnum int a,int dat...
幾種排序方法
排序方法 平均最好 最壞輔助空間 穩定性冒泡 o n2 o n o n2 o 1 穩定簡單選擇 o n2 o n2 o n2 o 1 穩定插入 o n2 o n o n2 o 1 穩定希爾 o nlogn o n2 o n1.3 o n2 o 1 不穩定堆排序 o nlogn o nlogn o n...
幾種排序方法
一 選擇排序 原理 1 依次比較陣列中元素,從而記錄下陣列中最小的元素 2 將最小元素與陣列第乙個元素交換 3 依次比較陣列中剩餘元素,從而記錄下剩餘陣列中最小的元素 與陣列第二個元素交換,以此類推 特點 需要大約 n 1 n 2 1 n 2 2次比較和n次交換,演算法的時間效率取決於比較的次數。i...