码迷,mamicode.com
首页 > 其他好文 > 详细

10-4

时间:2020-11-11 16:38:53      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:表示   ++   sort   warning   secure   amp   大小   std   for   

冒泡排序(升序)(bubble_sort)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void bubble_sort(int arr[], int sz)
{
int i = 0;
int flag = 1; //假设本次要排序的数组已经有序
for (i = 0; i < sz - 1; i++)
{
//每一趟冒泡排序
int j = 0;
for (j = 0; j < sz - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = 0;
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
flag = 0; //本趟不完全有序
}
}
if (flag == 1) //break语句是在for循环中,或switch语句中的,在if语句中不能使用
//但这个if是在for循环中的,所以它是属于for循环的。
{
break;
}
}
}
int main()
{

int arr[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };  //对arr进行排序,排成升序
int sz = sizeof(arr) / sizeof(arr[0]);
//传的是首元素的地址=&arr[0 ]
bubble_sort(arr ,sz  ); //冒泡排序函数
int i = 0;
for (i = 0; i < sz; i++)
{
    printf("%d", arr[i]);

}
return 0;

}

数组名是什么?
数组名就是首元素的地址
例外:1:sizeof(数组名),此时此刻数组名表示整个元素地址,sizeof(数组),计算的是整个元素的大小,单位为字节。
2:&数组名,取出的是整个数组的地址
#include<stdio.h>
int main()
{
int arr[] = {0,1,2,3,45,};
printf("%p\n" , &arr[0]); //打印的结果是一样的。
printf("%p\n" , arr);
return 0;
}

10-4

标签:表示   ++   sort   warning   secure   amp   大小   std   for   

原文地址:https://blog.51cto.com/14943133/2539947

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!