顺序表中出现-842150451

顺序表中出现-842150451
 for (int j = L.length; j >= 1; j--)
        {
            for (int i = 0; i < L.length-1 ; i++)
            {
                if (L.elem[i].banhao > L.elem[i+1].banhao)
                {
                    int temp;
                    temp = L.elem[i].banhao; 
                    L.elem[i].banhao = L.elem[i + 1].banhao;
                    L.elem[i + 1].banhao = temp;
                }
            }
        }
        for (int i = 0; i < L.length; i++)
        {
            cout << "===============" << L.elem[i].banhao << "===============" << endl;
        }

img

求捞捞

代码不全
你不要纠结于打印出来为什么不对
你在排序之前就应该先打印看看里面到底存了个什么
具体的说,你在录入数据之后就应该马上先打印出来看看里面到底存进去了吗

for (int j = 0; j <L.length; j++)
        {
            for (int i = 0; i < L.length-1-j; i++)

可能是数组越界了,建议用后一后元素比前一个元素,后一个小于前一个则互换。这种思路可避免访问多一个数组位置

可以贴更完整一些的代码吗。L.elem数组的原始数据是怎么生成的?