日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > C語言之數組

C語言之數組

來源:程序員人生   發布時間:2015-01-08 13:09:24 閱讀次數:3056次


1,數組簡介:

所謂數組,就是相同數據類型的元素按1定順序排列的集合,就是把有限個類型相同的變量用1個名字命名,然后用編號辨別他們的變量的集合,這個名字稱為數組名,編號稱為下標。組成數組的各個變量稱為數組的份量,也稱為數組的元素,有時也稱為下標變量。數組是在程序設計中,為了處理方便, 把具有相同類型的若干變量按有序的情勢組織起來的1種情勢。這些按序排列的同類數據元素的集合稱為數組。

2,例子要求:
針對數組這個最基礎的數據結構,羅列這個數據結構可以支持的操作,并以大O的方式分析各個操作的時間復雜度

3,實現進程:

#include <QCoreApplication>
//數組的基本操作,排序,取最大值,模糊查詢某個值

// 【1】數組排序 算法
// 1.1, 冒泡排序 O(n2)
最好的是數組有序情況下為:O(2N),

平均是正常隨機亂序為:O(2N),

最差的是數據完全亂序O(n2)。

void BubbleSort(int A[], int N)

{

 int tmp;
 for (i = 0; i < N - 1; ++i)
 {
 for (j = 1; j < N - i; ++j)
 {
 if (A[j] > A[j - 1]) //從大到小排序,把較小的交換到后面來
 {
 tmp = A[j - 1];
 A[j - 1] = A[j];
 A[j] = tmp;
 }
 }
 }
}




// 1.2 快速排序,它的平均時間復雜度為O(Nlog2N)
最好的是數組有序情況下時間復雜度為:O(nlogn),
平均是正常隨機亂序時平均時間復雜度為:O(nlogn)。 ,
最差的是數據完全亂序O(n^2)。
int Partition(int *arr, int low, int high)
{
 int pivot = arr[low];
 while(low < high)
 {
 while(low < high && arr[high] <= pivot) high--;
 arr[low] = arr[high];
 while(low < high && arr[low] >= pivot) low++;
 arr[high] = arr[low];
 }
 arr[low] = pivot;
 return low;
}


void Qsort(int *arr, int low, int high)
{
 if (low < high)
 {
 int mid = Partition(arr, low, high);
 Qsort(arr, low, mid - 1);
 Qsort(arr, mid + 1, high);
 }
}


// 【2】 數組取最大值 算法
最好情況下,最大值在第1個,時間復雜度為:O(n^2)
平均是,最大值在中間位置,時間復雜度:O(n).
最差是,最大值在末尾,時間復雜度:O(2^n)
int max(int array[],int n);
void main( )
{
 int num[N],count,i,val;
? scanf("%d",&count);
 for (i=0;i<count;i++)
 {
 scanf("%d",&num[i]);
 }
 val=max(num,count);
 printf("%dn",val);
 }

int max(int array[ ],int n)
{
 if (n<=1)
 return(array[0]); // 就1個數,最大值就是自已
 int t=max(array+1,n⑴); // 求后面 n⑴個數的最大值
 if (t>array[0]) // t 比第1個大,返回最大 t
 return(t);
 else
 return(array[0]); // t小,返回array[0];
}

// 【3】 數組查詢是不是包括某個值
最好情況下,就是第1個,時間復雜度為O(1);
平均情況下,值在中間,時間復雜度為0(N/2);
最壞情況下,值在末尾或不存在,時間復雜度為O(N);
int main()
{
 int n,m,i,a[20];
 int find;
 scanf("%d",&n);
 for(i=0;i<n;i++){
 scanf("%d",&a[i]);
 }
 scanf("%d",&m);
 find = ⑴;
 for(i=0;i<n;i++){
 if(a[i] == m){
 find = i;
 break;
 }
 }

 if(find < 0) {
 printf("Non");
 }
 else {
 printf("%dn", find);
 }
 return 0;
}


// 【4】數組輸入輸出,1時沒有想到用甚么算法,順序遍歷?

 ----------------------------------------------------------------------------------------------------------------
<版權所有,允許轉載,但必須以鏈接方式注明源地址,否則追究法律責任!>
原博客地址:    http://blog.itpub.net/26230597/viewspace⑴386607/
原作者:黃杉 (mchdba)
----------------------------------------------------------------------------------------------------------------
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日本黄xxxxxxxxx100 | 一区二区三区高清不卡 | 日日日操 | 欧美一区二区在线播放 | 久久精品成人热国产成 | 久久毛片 | 国产高清久久 | 在线欧美| 亚洲精品一区二区三区香蕉 | 日韩h视频 | 精品永久免费 | 国产精品一区免费视频 | 久久av免费看 | 91 中文字幕 | 亚洲成人av电影 | 成人网址在线观看 | 欧美日韩国产三区 | 99精品99 | 自拍偷拍亚洲欧美 | www国产亚洲精品 | 在线中文视频 | 国内外成人在线视频 | 红桃视频一区二区三区免费 | 欧美日韩一区二区三区 | 日韩三级久久 | 亚洲日韩中文字幕一区 | 久草新免费 | 国产日韩精品视频 | 精品一区二区不卡 | 亚洲精一区 | 国产 一区 | www.日韩精品 | 亚洲最大av网 | 亚洲国产美女 | 欧美人妇做爰xxxⅹ性高电影 | 五月婷久久 | 亚洲熟区 | 国产精品久久久久久久久久99 | 亚洲精品视频观看 | 日韩欧美精品一区二区三区 | 日韩免费高清 |