- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我有这个家庭作业(一个人会做冒泡排序的唯一原因)
我使用 visual studio 创建了 2 个数组,一个是未排序的数字,另一个是已排序的数字。
我将在此处粘贴的代码只会在两个数组中返回 0,我不知道我做错了什么所以请帮助我!
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnBubbleSort_Click(object sender, EventArgs e)
{
int[] numbers = new int[100];
foreach (int value in numbers)
{
lstBubbleUnorderd.Items.Add(value);
}
for (int y = 0; y < 100; y++)
{
for (int i = 100 - 1; i > y; --i)
{
if (numbers[i] <= numbers[i - 1])
{
int temp = numbers[i];
numbers[i] = numbers[i - 1];
numbers[i - 1] = temp;
}
}
}
for (int j = 0; j < 100; j++)
{
lstBubbleOrderd.Items.Add(numbers[j]);
}
}
}
}
============================================= ============================================
多亏了你们,我的代码现在可以工作了
我的新代码如下:
命名空间 WindowsFormsApplication5{ 公共(public)部分类 Form1:表单 {
public Form1()
{
InitializeComponent();
}
private void btnBubbleSort_Click(object sender, EventArgs e)
{
lstBubbleOrderd.Items.Clear();
lstBubbleUnorderd.Items.Clear();
Random RndNmbrs = new Random();
int n = RndNmbrs.Next();
for (int a = 0; a < 10; a++)
lstBubbleUnorderd.Items.Add(RndNmbrs.Next(0, 10));
int[] numbers = new int[lstBubbleUnorderd.Items.Count];
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = int.Parse(lstBubbleUnorderd.Items[i].ToString());
}
for (int y = 0; y < numbers.Length; y++)
{
for (int i = numbers.Length - 1; i > y; --i)
{
if (numbers[i] <= numbers[i - 1])
{
int temp = numbers[i];
numbers[i] = numbers[i - 1];
numbers[i - 1] = temp;
}
}
for (int j = 0; j < numbers.Length; j++)
{
lstBubbleOrderd.Items.Add(numbers[j]);
}
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
最佳答案
您在这里创建了数字数组:
int[] numbers = new int[100];
但是您从未用任何东西填充它,所以它的所有值都被初始化为零。
也许您打算做的是这样的事情(结合来自 leemo's answer 的建议)?
int[] numbers = new int[lstBubbleUnorderd.Items.Count];
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = int.Parse(lstBubbleUnorderd.Items[i].ToString());
}
for (int y = 0; y < numbers.Length; y++)
{
for (int i = numbers.Length - 1; i > y; --i)
{
if (numbers[i] <= numbers[i - 1])
{
int temp = numbers[i];
numbers[i] = numbers[i - 1];
numbers[i - 1] = temp;
}
}
}
for (int j = 0; j < numbers.Length; j++)
{
lstBubbleOrderd.Items.Add(numbers[j]);
}
这会将输入到 lstBubbleUnorderd
中的所有数字读取到您的 numbers
数组中,对它们进行排序,然后在 lstBubbleOrderd
中打印出来。
关于c# - Bubblesort int 只返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20133768/
我已经实现了 BubbleSort 算法的代码,但它返回了一个奇怪的错误,您能告诉我问题是什么吗? public class BubbleSort { public static int[]
这是我对冒泡排序算法的实现。 import java.util.Arrays; public class BubbleSort { public static void main(Stri
我尝试使用 BubbleSort 按卡片的值对卡片进行排序,但在使用相同的卡片或具有相似值的卡片时遇到了一些问题。 import java.util.HashMap; public class Kar
我的冒泡排序代码只交换第一个数组项。所有其他项目都保留为 0。我认为我的嵌套循环是错误的,或者我还没有能够正确诊断它。所以这是我的代码。 public void swap(int i, int
这段代码: #include #define SIZE 10 int main(){ int a[SIZE]={2,6,4,8,10,12,89,68,45,37}; int pas
我正在尝试根据指针指向的字符串对指针数组进行排序。我的 bubblesort 实现似乎忽略了我传递给它的最后一个元素。 #include #include #include void swap(
我尝试用 C++ 编写基本的冒泡排序,但现在我被卡住了。任何想法为什么这可能行不通?我想这对更有经验的人来说是显而易见的,但对我来说不是。 liczba_liczb 是数组单元格的个数,niePoso
为什么选择冒泡排序而不是其他排序算法? 最佳答案 你不会。 杜克大学的 Owen Astrachan 曾写过一篇追溯冒泡排序历史的研究论文 (Bubble Sort: An Archaeologica
有一个类似于此的冒泡排序例程。我需要通过在数组排序时或数组已经排序时停止循环来提高效率。 function sortNumbers(listbox) { var x, y, holder; /
这是一个非常简单的问题。我用冒泡排序代码在线查看,看起来我也在做同样的事情。这是我带有模板的完整 C++ 代码。但是输出有点奇怪! #include using namespace std; tem
我一直在尝试学习排序类的泛型实现,但收到此错误:“无法从类型 Comparator 中对非静态方法compare(T, T) 进行静态引用”(第 14 行) . 为什么我会收到此消息?我还没有声明我的
该程序创建一个名为 datafile.txt 的文件,并使用文本 I/O 将随机创建的 100 个整数写入该文件。我还实现了 bubbleSort 以升序对数字进行排序,但它没有对它们进行排序。另外,
这段代码可能看起来很糟糕,我是一个初学者程序,所以让我的代码更好的提示会有很大帮助。我想知道如何使 bubbleSort() 全局修改数组值?目前我在 main 中填充数组,它适用于搜索方法,但后来我
没有匹配函数来调用“bubbleSort”。我在同一个 .hpp 文件中有这两个函数。 template void bubbleSort(std::vector &vec){ T zacase
我更改了我的代码,但仍然无法弄清楚为什么它不会对数组进行排序...冒泡排序仅将所有元素在我的程序中向右移动一个位置,而不是对数组进行排序...我厌倦了 bsort 和 ssort,两者都做同样的事情1
我正在尝试为结构数组实现递归冒泡排序。但是,当我按员工姓名对数组进行排序时,它给出了错误的输出。我不知道我错过了什么。感谢您的帮助。 #include #include // GLOBAL VARIA
使用 Python 进行冒泡排序算法的示例该算法在两个方向上对列表的元素进行排序 def bubbleSort_UpDown(alist,ite): up=True d=0 f
这是我的程序 static void Main(string[] args) { int[] arrayToSort = new int[] { 5,4,9};
我正在研究对 array[n] 中的整数 [1,n] 的每个可能组合进行排序所需的遍数背后的数学原理。 例如,n = 3,则有 3! = 6 数字的可能排列: 1,2,3 - 1,3,2 - 2,1,
嘿,我对 Bubblesort 进行了运行时分析,我想问你是否有任何错误,因为我在某个时候不确定 这里是算法的摘录: boolean sorted = false; while(!so
我是一名优秀的程序员,十分优秀!