分析冒泡排序

2023-12-24 22:48:02

#include <stdio.h>

int main()
{

int arr[10] = { 2,5,1,3,6,4,7,8,9,0 };

int i = 0;

int j = 0;

for( i = 0 ;i < sizeof(arr)/sizeof(arr[0])? - 1 ; i++)? 红色的代表数组一共有n个元素,则需要n-1次
{
? ? ? ? ? ? ?for( j = 0?//? 这里可以让数组从哪一位开始 ; j < n - 1 (n-1代表要经过最后的元素? 因为j可以等于n-2? 则可与最后的元素比较(即第n-1个元素)) - i?;j++)
? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? if( arr[j]>arr[j+1] )
{
temp? = arr[j];

arr[j]= arr[j+1];

arr[j+1] = temp;

}

}

}

return 0;
}

从键盘读入一串字符后去除首尾字符后的字符串按降序排序

请编写函数Sort函数,将字符串中除首、尾字符外的其余字符按降序排列。

void Sort(char *p)
{
?? ?int i = 0;
?? ?int j = 0;
?? ?char temp = '\0';
?? ?int len = 0;
?? ?for( i = 0 ; *(p+i) != '\0' ; i++ )
?? ?{
?? ??? ?len++;
?? ?}
?? ?for( i = 0 ; i < len - 3 ; i++)//由于去掉开头和最后的二个元素,则剩下len-2个元素 ; 则写len-3
?? ?{
?? ??? ?for( j = 1 ; j < len - i - 2 ; j++ ) //不经历len-1 则不需要比较运行
?? ??? ?{
?? ??? ??? ?if( *(p+j) < *(p+j+1) )
?? ??? ??? ?{
?? ??? ??? ??? ?temp = *(p+j);
?? ??? ??? ??? ?*(p+j) = *(p+j+1);
?? ??? ??? ??? ?*(p+j+1) = temp;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}

文章来源:https://blog.csdn.net/wx20041102/article/details/135187505
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。