C#冒泡排序法

beginners 2012-03-21 01:51:50
求各种写法的冒泡排序法。。
...全文
1325 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
何大哥 2012-12-24
  • 打赏
  • 举报
回复
冒泡排序,也不懂
Smile_大笑 2012-12-24
  • 打赏
  • 举报
回复
我也是初学者,请大家多多指教!亲! static void Main(string[] args) { Random RD = new Random(); int [] nums=new int[10]; Console.WriteLine("排序前:"); for (int i = 0; i < nums.Length; i++) { nums[i] = RD.Next(-10,10); Console.Write(nums [i]+","); } //冒泡排序 for (int i = 0; i < nums.Length; i++) { for (int j = 0; j < nums.Length - 1 - i; j++) { if (nums[j] < nums[j + 1]) { int temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } Console.WriteLine("排序后:"); foreach (int n in nums) { Console.Write(n+","); } Console.ReadKey(); }
lzw8036 2012-03-22
  • 打赏
  • 举报
回复
将数组从小到大排列~

public void Sort(string[] list)
{
int i,j;
string temp = "";
bool done = flase;
j = 1;
while(j<list.Length)&&(!done))
{
for(i =0;i<list.Length-j;i++)
{
if(Convert.Tpnt32(list[i])>Convert.TpInt32(list[i+1])
{
done = false;
temp = list[i];
list[i] = list[i+1];
list[i+1] = temp;
}
}
j++;
}
}
console.writeLine(list);
tangxu12 2012-03-22
  • 打赏
  • 举报
回复
如果你是C用冒泡可以理解

都C# 还不泛型啊
showlie 2012-03-22
  • 打赏
  • 举报
回复
冒啥泡啊,直接List<int>.Sort()
屌絲來襲 2012-03-22
  • 打赏
  • 举报
回复
建议LZ还是自己理解冒泡排序法的原理,这样不管用到哪种编程语言都能写好

拿分走人...
贾志轩 2012-03-22
  • 打赏
  • 举报
回复
第一种
int[] Num = { 3, 4, 7, 10, 5, 9 };
int TP;
for (int i = 0; Num.Length > i; i++)//从最小开始
{
for (int p = Num.Length - 1; p > i; p--)//从最大开始,外层循环过的跳过。
{
TP = Num[i];
if (Num[i] < Num[p])//这里决定升序或降序
{
Num[i] = Num[p];
Num[p] = TP;
}
}
}
Response.Write("<br/><br/>");
for (int i = 0; Num.Length > i; i++)
{
Response.Write(Num[i] + "<br/>");
}

第二种
int[] Num = { 3, 4, 7, 10, 5, 9 };
int TP;
for (int i = 0; Num.Length > i; i++)//从最小开始
{
for (int p = i + 1; Num.Length > p; p++)//外层循环过的跳过。
{
TP = Num[i];
if (Num[i] < Num[p])//这里决定升序或降序
{
Num[i] = Num[p];
Num[p] = TP;
}
}
}
Response.Write("<br/><br/>");
for (int i = 0; Num.Length > i; i++)
{
Response.Write(Num[i] + "<br/>");
}
水中钓鱼的猫 2012-03-21
  • 打赏
  • 举报
回复
冒泡可以优化一下,就是在交换那里

if(arr[i]>arr[i+1]){
arr[i]=arr[i]+arr[i+1];
arr[i+1]=arr[i]-arr[i+1];
arr[i]=arr[i]-arr[i+1];
}
全局变量 2012-03-21
  • 打赏
  • 举报
回复
- -. 百度一下你就知道....
mr_cheung 2012-03-21
  • 打赏
  • 举报
回复
static void Main(string[] args)
  {
  int[] array = { 23,45,16,7,42 };
  int length = array.Length - 1;
  bool isExchanged = false;
  for (int i = 0; i < length; i++)
  {
  isExchanged = false;
  for (int j = length; j > i; j--)
  {
  if (array[j] > array[j - 1])
  {
  int temp = array[j];
  array[j] = array[j - 1];
  array[j - 1] = temp;
  isExchanged = true;
  }
  }
  if (!isExchanged)//一遍比较过后如果没有进行交换则退出循环
  break;
  }
  foreach (int i in array)
  {
  Console.WriteLine(i);
  }
  Console.Read();
  }
Agenric 2012-03-21
  • 打赏
  • 举报
回复
using System;

public class BubbleSortTest
{
public static void Main( string[] args )
{
BubbleSort sortArray = new BubbleSort( 10 );

Console.WriteLine( "Before:" );
Console.WriteLine( sortArray );

sortArray.Sort();

Console.WriteLine( "After:" );
Console.WriteLine( sortArray );
}
}




using System;

public class BubbleSort
{
private int[] data;
private static Random generator = new Random();

public BubbleSort( int size )
{
data = new int[ size ];

for ( int i = 0; i < size; i++ )
data[ i ] = generator.Next( 10, 100 );
}

public void Sort()
{
for ( int pass = 1; pass < data.Length; pass++ )
{
for ( int index = 0; index < data.Length - 1; index++ )
{
if ( data[ index ] > data[ index + 1 ] )
Swap( index, index + 1 );
}
}
}

public void Swap( int first, int second )
{
int temporary = data[ first ];
data[ first ] = data[ second ];
data[ second ] = temporary;
}

public override string ToString()
{
string temporary = string.Empty;

foreach ( var element in data )
temporary += element + " ";

temporary += "\n";
return temporary;
}
}
Agenric 2012-03-21
  • 打赏
  • 举报
回复
using System;

public class BubbleSortTest
{
public static void Main( string[] args )
{
BubbleSort sortArray = new BubbleSort( 10 );

Console.WriteLine( "Before:" );
Console.WriteLine( sortArray );

sortArray.Sort();

Console.WriteLine( "After:" );
Console.WriteLine( sortArray );
}
}




using System;

public class BubbleSort
{
private int[] data;
private static Random generator = new Random();

public BubbleSort( int size )
{
data = new int[ size ];

for ( int i = 0; i < size; i++ )
data[ i ] = generator.Next( 10, 100 );
}

public void Sort()
{
for ( int pass = 1; pass < data.Length; pass++ )
{
for ( int index = 0; index < data.Length - 1; index++ )
{
if ( data[ index ] > data[ index + 1 ] )
Swap( index, index + 1 );
}
}
}

public void Swap( int first, int second )
{
int temporary = data[ first ];
data[ first ] = data[ second ];
data[ second ] = temporary;
}

public override string ToString()
{
string temporary = string.Empty;

foreach ( var element in data )
temporary += element + " ";

temporary += "\n";
return temporary;
}
}
Agenric 2012-03-21
  • 打赏
  • 举报
回复
using System;

public class BubbleSortTest
{
public static void Main( string[] args )
{
BubbleSort sortArray = new BubbleSort( 10 );

Console.WriteLine( "Before:" );
Console.WriteLine( sortArray );

sortArray.Sort();

Console.WriteLine( "After:" );
Console.WriteLine( sortArray );
}
}




using System;

public class BubbleSort
{
private int[] data;
private static Random generator = new Random();

public BubbleSort( int size )
{
data = new int[ size ];

for ( int i = 0; i < size; i++ )
data[ i ] = generator.Next( 10, 100 );
}

public void Sort()
{
for ( int pass = 1; pass < data.Length; pass++ )
{
for ( int index = 0; index < data.Length - 1; index++ )
{
if ( data[ index ] > data[ index + 1 ] )
Swap( index, index + 1 );
}
}
}

public void Swap( int first, int second )
{
int temporary = data[ first ];
data[ first ] = data[ second ];
data[ second ] = temporary;
}

public override string ToString()
{
string temporary = string.Empty;

foreach ( var element in data )
temporary += element + " ";

temporary += "\n";
return temporary;
}
}
whj11 2012-03-21
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
int main()
{
int a[5];
int i,j,t;
for(i=0;i<5;i++)
cin>>a[i];


for(j=0;j<4;j++)
for(i=0;i<4-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}

for(i=0;i<=4;i++)
cout<<a[i]<<" ";



return 0;
}
  • 打赏
  • 举报
回复
[Quote=引用楼主 hzw781189684 的回复:]
求各种写法的冒泡排序法。。
[/Quote]

static void Main(string[] args)   {   int[] array = { 23,45,16,7,42 };   int length = array.Length - 1;   bool isExchanged = false;   for (int i = 0; i < length; i++)   {   isExchanged = false;   for (int j = length; j > i; j--)   {   if (array[j] > array[j - 1])   {   int temp = array[j];   array[j] = array[j - 1];   array[j - 1] = temp;   isExchanged = true;   }   }   if (!isExchanged)//一遍比较过后如果没有进行交换则退出循环   break;   }   foreach (int i in array)   {   Console.WriteLine(i);   }   Console.Read();   }
  • 打赏
  • 举报
回复
[Quote=引用楼主 hzw781189684 的回复:]
求各种写法的冒泡排序法。。
[/Quote]

LZ,上面给的网址应有尽有,不管是哪门语言。
  • 打赏
  • 举报
回复
[Quote=引用楼主 hzw781189684 的回复:]
求各种写法的冒泡排序法。。
[/Quote]

http://baike.baidu.com/view/1313793.htm
随着元宇宙概念兴起与虚拟数字人技术快速发展,虚拟主播、在线教育虚拟助教、元宇宙社交等应用场景对实时动作表情驱动系统提出更高需求。当前主流动作捕捉方案多依赖专业光学动捕设备或深度相机,设备成本高昂、部署复杂,难以在普通用户场景普及。本研究设计并实现一套基于普通单目摄像头的虚拟数字人实时动作表情驱动系统,旨在降低数字人内容生产门槛。系统采用Unity作为主开发引擎,结合Blender进行数字人模型构建与BlendShape表情系统制作,使用MediaPipe框架实现人脸关键点检测与人体姿态估计,通过C#脚本完成实时数据处理与渲染控制。系统包含五个关键模块:人脸关键点检测(MediaPipe Face Mesh提取468个关键点)、人体姿态估计(MediaPipe Pose识别33个骨骼关键点)、表情迁移映射、动作平滑优化(卡尔曼滤波与贝塞尔曲线插值消除抖动)、实时渲染(60fps流畅渲染,支持直播推流与视频录制)。实验结果表明,系统在普通笔记本上可实现60fps实时驱动,人脸关键点检测准确率达98.7%,人体姿态估计平均误差小于5像素,表情迁移相似度达92.3%。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论基础 第3章 系统架构设计 第4章 关键模块设计与实现 第5章 实验与结果分析 第6章 总结与展望 参考文献
内容概要:本文提出了一种基于蒙特卡洛模拟与拉格朗日松弛法的分散式优化策略,用于解决电动汽车充电站在分时电价机制下的有序充电调度问题。通过蒙特卡洛方法模拟电动汽车充电行为的随机性,生成多样化负荷场景,构建以降低电网负荷波动和用户充电成本为目标的优化模型;采用拉格朗日松弛法对耦合约束进行解耦,实现分布式求解,在保障用户隐私的同时提升计算效率。文中设计了详细的仿真场景,系统分析了该调度策略对电网负荷特性和用户经济性的影响,验证了所提方法在实际应用中的有效性与可行性。; 适合人群:具备电力系统运行、优化算法理论及Matlab编程能力的研究生、科研人员以及从事智能电网与电动汽车相关领域的工程技术人员。; 使用场景及目标:①应用于城市规模化充电站集群的有序充电管理,实现电网“削峰填谷”;②为电力公司制定科学合理的分时电价政策提供量化分析工具;③支撑智能电网中需求侧资源的分布式协同优化调度研究与系统设计。; 阅读建议:建议结合提供的Matlab代码深入理解算法实现流程,重点掌握蒙特卡洛场景生成机制与拉格朗日松弛迭代求解过程,可通过调整参数设置复现不同工况下的仿真结果,以深化对分散式优化机制与调度效果之间关系的理解。
内容概要:本文研究了基于阶跃响应的V-Tiger自动增益调整PID控制器优化方法,并提供了完整的Matlab代码实现。通过深入分析PID控制的核心性能指标与V-Tiger控制器的动态特性,提出了一种融合阶跃响应特征提取与多目标协同优化的自动整定方案,设计了具备自适应迭代校正能力的优化机制,有效提升了控制系统的响应速度、稳定性和抗干扰能力。文中系统阐述了整定原理、算法架构设计及性能验证流程,通过仿真实验充分验证了该方法在复杂工业控制场景下实现高精度参数自整定的可行性与优越性,为智能PID控制提供了可复现、可拓展的技术路径。; 适合人群:具备自动控制理论基础和Matlab编程能力,从事控制工程、自动化、电气工程等领域研究的研发人员及高校研究生。; 使用场景及目标:①应用于需要高精度PID参数整定的工业控制系统中,如电机驱动、温度控制、电力电子变换器等;②为科研人员提供一种可复现、可扩展的智能PID整定方法,用于提升系统动态性能与鲁棒性;③作为教学案例帮助学生理解PID整定原理与现代优化算法的融合应用。; 阅读建议:建议读者结合文中的Matlab代码逐模块运行与调试,重点关注阶跃响应特征提取与增益优化策略的实现逻辑,同时可尝试将其应用于实际控制系统中进行对比验证,以深化对自动整定机制的理解。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧