一维数组冒泡排序

来源:互联网 发布:网络手势的含义带图片 编辑:程序博客网 时间:2024/06/09 22:32
//一维数组冒泡排序判断数组是否非乱序.int main(void){int ar1[10] = {1,2,3,4,5,6,7,8,9,10};int temp;//因为sizeof是unsigned类型,为了避免编译器警告,所以定义为unsigned类型. //如果定义为int类型,对程序运行也无影响.unsigned int i ,j;unsigned int flag = 1;for(i = 0; i<=sizeof(ar1)/sizeof(ar1[0])-1; i++){for(j = 0; j < sizeof(ar1)/sizeof(ar1[0])-1-i; j++){if (ar1[j] > ar1[j+1]){temp = ar1[j+1];ar1[j+1] = ar1[j];ar1[j]  = temp;flag = 0;}//以下条件相当于在第一轮对比中,发现顺序是已经排好的.所以并为进入上面的if循环//flag变量依旧等于1,所以打印输出,并且结束程序.if (i == 0&& j == sizeof(ar1)/sizeof(ar1[0])-2-i  && flag==1){printf("Your array has been sort yet!\n");printf("It doesn's need to sort!\n");for( i = 0; i<10; i++){printf("%d ",ar1[i]);}return 0;}}}printf("Sort it done!\n");for( i = 0; i<10; i++){printf("%d ",ar1[i]);} return 0;}


 
原创粉丝点击