C語言數組之冒泡排序+折半尋找法(二分尋找)

來源:互聯網
上載者:User

標籤:排序演算法   i++   標記   div   arc   middle   記錄   下標   bsp   

 

冒泡排序演算法

 1 int num[5]; 2     int i; 3     //迴圈接收使用者輸入的元素  4     for(i=0;i<5;i++){ 5         printf("請輸入第%d個元素\n",i+1); 6         scanf("%d",&num[i]); 7     } 8     for(i=0;i<4;i++){    //外層迴圈,控制排序的輪數  9         int j; 10         for(j=0;j<4-i;j++){        //內層迴圈,控制冒牌排序每輪的次數 11             if(num[j]>num[j+1]){    //判斷判斷元素和後一個元素大小,如果前面元素大,則交換位置 12                 int temp;13                 temp=num[j];14                 num[j]=num[j+1];15                 num[j+1]=temp;16             }17         }18     }19     //遍曆列印數組20     for(i=0;i<5;i++){21         printf("%d\t",num[i]);22     }

 

二分尋找法(折半尋找,前提是必須是有序數組)

 

 1 int num[10]={1,2,3,4,5,6,7,8,9,10}; 2     int search; 3     printf("請輸入你要尋找的元素\n"); 4     scanf("%d",&search); 5     int middle;//中間位置  6     int left=0;//起始下標,預設第一個元素的下標  7     int right=9;//結束下標,預設最後一個元素的下標 8     int count=0;//用了記錄查詢次數 9     int flag=0;//標記,判斷是否有該元素;10     while(left<=right){11         count++;12         middle=(left+right)/2;13         if(search>num[middle]){//待尋找的元素必中間位置元素的值大,到右邊尋找,更改起始位置 14             left=middle+1;15         }else if(search<num[middle]){//待尋找的元素必中間位置元素的值小,到左邊尋找,更改結束位置 16             right=middle-1;17         }else{18             printf("你要尋找的要素%d下標為%d",search,middle);19             flag=1;20             break;21         }22     }23     if(flag==1){24         printf("你一共用了%d次尋找到該元素\n",count);25     }else{26         printf("你要尋找的元素不存在\n");27     }

 

C語言數組之冒泡排序+折半尋找法(二分尋找)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.