C語言 輸入整數陣列 氣泡排序
/** 輸入整數陣列,利用冒泡法進行排序,輸出每次冒泡的結果 作者:nuaazdh 時間:2012年5月29日 */ #include <iostream> #include <fstream> #include <string> #define SIZE 100 using namespace std; void swap(int &a,int &b); //交換引數的值 bool bubble(int *array,int array_size); //氣泡排序 void printarray(int *array,int array_size); //輸出陣列中元素 int main() { int array[SIZE],i,array_size; int temp; cout<<"請輸入一個總數小於100的整型陣列(Ctl+Z結束):"<<endl; for(i=0;i<SIZE&&cin>>temp;i++){ array[i]=temp; } array_size=i; do{ printarray(array,array_size); }while(bubble(array,array_size)); } void swap(int &a,int &b){//交換引數的值 int temp=a; a=b; b=temp; } bool bubble(int *array,int array_size){//氣泡排序 bool flag=false; for(int i=0;i<array_size-1;i++) for(int j=i+1;j<array_size;j++) if(array[j]<array[j-1]){//交換 swap(array[j],array[j-1]); flag=true; } return flag; } void printarray(int *array,int array_size){//輸出陣列中元素 for(int i=0;i<array_size;i++){ cout<<array[i]<<' '; } cout<<endl; }
執行結果:
相關推薦
C語言 輸入整數陣列 氣泡排序
/** 輸入整數陣列,利用冒泡法進行排序,輸出每次冒泡的結果 作者:nuaazdh 時間:2012年5月29日 */ #include <iostream> #include <fstream> #include <st
【領卓教育】C語言基礎教學之氣泡排序
在C語言中,經常會用到for迴圈語句,通過for迴圈語句,可以使很多程式變得簡便,同時也能實現很多普通語句不能實現的功能。在for迴圈中,不僅只是單純的一個for迴圈,例如: main { ...; for(i=0;i<10;i++)
C語言實現簡單的氣泡排序
用C實現氣泡排序 常用的排序方法有氣泡排序法,選擇排序法,插入排序法以及希爾排序法等。本文著重講解如何利用C程式碼,實現氣泡排序。 首先,要了解什麼是氣泡排序。氣泡排序是常用的一種排序方法,其基本方法就是逐次比較。即一次比較兩個數,若它們的順序錯誤,
C語言輸入一行整數(OJ輸入格式)
就是說輸入一行用空格隔開的函式,可是它沒說用回車符結束,所以一定要用EOF了 第一種方法: int t = 0; char ch; do { scanf("%ld",&a[++t]); } while((ch=getchar())!='\n'&&ch!=E
C# 陣列氣泡排序(升序排序):
可用C#中中提供的專門排序的方法來降序,降序排序可以先Array.Sort() 再 Array.Reverse()。【先升序再反轉過來】降序排序可以先升序後再反轉排序 。陣列反轉排序: View Code C#中有提供專門排序的方法:System.Array.Reverse(要排序的陣列);//顛倒排序,反
C語言結構體+陣列實現學生學號成績的統計、排序
#include <stdio.h> #include <stdlib.h> #define N 32 struct student { int num; int sch; }s[N]={{392,81},{304,80},{442,85},
Problem C: C語言習題 整數排序
主函式已給定如下,提交時不需要包含下述主函式 /* C程式碼 */ int main() { void sort(int **,int ); int i,n,data[20],**p,*pstr[20]; scanf("%d",&n); for (i=0; i
C語言------關於整數輸入的正序和倒序輸出
定義一個整數型別的輸入,然後讓它正序輸出,倒序輸出相信是很多C語言初學入門一定會遇到的經典題目,下面就是我對整數的正序和倒序輸出一點小小的總結. 1. 反序(倒序)輸出 反序輸出常用的思路就是按位取餘,把取出來的值進行迴圈儲存 int main() { i
C語言數組之冒泡排序+折半查找法(二分查找)
不存在 次數 存在 是否 .com int count 結束 如果 冒泡排序算法 1 int num[5]; 2 int i; 3 //循環接收用戶輸入的元素 4 for(i=0;i<5;i++){ 5 pr
C語言——輸入一個字符串,將連續數字字符轉換為數字
一個 [0 fine main span nbsp 輸出 print ont 輸入一個字符串,內有數字和非數字字符,例如: A123cdf 456.78cpc876.9er 849.1 將其中連續的數字作為一個實數,依次存放到一數組a中。例如123存放在a[0],456.
深入淺出數據結構C語言版(22)——排序決策樹與桶式排序
不改變 自然 只需要 都是 變種 限定 style buck oid 在(17)中我們對排序算法進行了簡單的分析,並得出了兩個結論: 1.只進行相鄰元素交換的排序算法時間復雜度為O(N2) 2.要想時間復雜度低於O(N2),算法必須進行遠距離的元素交換
C語言 輸入一個小數,輸出它的立方。輸出保留小數點後的2位數字
c //輸入一個小數,輸出它的立方。輸出保留小數點後的2位數字。 #include <stdio.h> int main(int argc, const char * argv[]) { double i,t; printf("輸入一個小數:\n"); scanf("%lf
2407: C語言習題 整數轉換成字符串
輸出 stat script 代碼 pan center pre bbs tput 2407: C語言習題 整數轉換成字符串 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 917 Solved: 416[Submit][S
C語言面試題分類->排序算法
OS sort 試題 時間復雜度 ups popup popu 使用 body 1.選擇排序。 每次將最小的數,與剩余數做比較。找到更小的,做交換。 時間復雜度:O(n2) 空間復雜度:O(1) 優缺點:耗時但內存空間使用小。 void selectSor
排序算法的C語言實現(上 比較類排序:插入排序、快速排序與歸並排序)
大於等於 額外 通過命令 無序 tro 需要 目錄 線性 如何選擇 總述:排序是指將元素集合按規定的順序排列。通常有兩種排序方法:升序排列和降序排列。例如,如整數集{6,8,9,5}進行升序排列,結果為{5,6,8,9},對其進行降序排列結果為{9,8,6,5}。雖然排序的
機試練習總結06:c語言輸入&輸出&文件讀寫
putchar 錯誤 std 機試 open() 返回 oid eof getchar 一、標準文件 c語言把所有設備當作文件。 stdin:鍵盤、標準輸入 stdout:屏幕、標準輸出 stderr:您的屏幕、標準錯誤 頭文件:stdio.h 二、getchar() &a
C語言輸入與輸出總結
1. scanf輸入: 特點:除%c外,讀取輸入時會跳過非白字元前的所有空白字元,然後一直讀取字元,直到空白字元或正在讀取字元不匹配的字元.(不匹配的會丟入緩衝區.作為下一次輸入接收的字元). 技巧: ①:把*放在%和轉換字元之間時,可以讓scanf()跳過相應輸出項. 比如:sca
陣列氣泡排序
public class SecondDemo { //陣列氣泡排序,從小到大 public static void bubuuMin(int[] arr) {  
g++ 記憶體分配 與 c 語言中的 陣列越界問題 (一道有趣的面試題)
首先是一段程式: # include <stdio.h> int main(int argc, char* argv[]){ int i = 0; int arr[3] = {0}; for(; i<=3; i++){ arr[i]
JAVA中陣列氣泡排序和選擇排序
氣泡排序的思想:兩兩之間比較大小,小的數在前,大的數在後。共比較i-1次。 static void MaoPaoArray(int[] a) { for (int i = 0; i < a.length - 2; i++) { for (int j = 0; j <