我用sort函数排序vector数组,为什么得到排序之后的数组内的元素全部为0

我用sort函数排序vector数组,为什么得到排序之后的数组内的元素全部为0,第1张

#include <stdlibh> /含ma l l o c ( ) 的头文件/

#include <stdioh>

//①定义链表数据结构

struct node

{

int num;

struct node next;

};

//函数声明

struct node creat();

void print();

main( )

{

struct node head;

head=NULL; //②建一个空表

head=creat(head);/创建单链表/

print(head);/打印单链表/

}

//

struct nodecreat(struct node head)/返回的是与节点相同类型的指针/

{

struct nodep1,p2;

int i=1;

//③利用malloc ( )函数向系统申请分配一个节点

p1=p2=(struct node)malloc(sizeof(struct node));/新节点/

printf("请输入值,值小于等于0结束,值存放地址为:p1_ADDR= %d\n",p1);

scanf("%d",&p1->num);/输入节点的值/

p1->next=NULL;/将新节点的指针置为空/

while(p1->num>0)/输入节点的数值大于0/

{

//④将新节点的指针成员赋值为空。若是空表,将新节点连接到表头;若是非空表,将新节点接到表尾;

if(head==NULL)

head=p1;/空表,接入表头/

else

p2->next=p1;/非空表,接到表尾/

p2=p1;

p1=(struct node)malloc(sizeof(struct node));/下一个新节点/

i=i+1;

printf("请输入值,值小于等于0结束,值存放地址为:p%d_ADDR= %d\n",i,p2);

scanf("%d",&p1->num);/输入节点的值/

//⑤判断一下是否有后续节点要接入链表,若有转到3 ),否则结束;

}

//==============原来程序更正部分:(多谢@daling_datou提醒)================================

free(p1); //申请到的没录入,所以释放掉

p1=NULL; //使指向空

p2->next = NULL; //到表尾了,指向空

printf("链表输入结束(END)\n");

//==============================================

return head;/返回链表的头指针/

}

//

void print(struct nodehead)/出以head为头的链表各节点的值/

{

struct node temp;

temp=head;/取得链表的头指针/

printf("\n\n\n链表存入的值为:\n");

while(temp!=NULL)/只要是非空表/

{

printf("%6d\n",temp->num);/输出链表节点的值/

temp=temp->next;/跟踪链表增长/

}

printf("链表打印结束!!");

}

注意:Arrayssort()不能接收一个二维数组作为参数,所以要做以下修改,你复制一下再运行吧

1

2

3

4

5

6

int a[][] = new int[][]{{38,7,57,62},{52,36},{22,79}};

for(int i=0;i<alength;i++){

Arrayssort(a[i]);

for(int j=0;j<a[i]length;j++)

Systemoutprintln(a[i][j]);

}

以上就是关于我用sort函数排序vector数组,为什么得到排序之后的数组内的元素全部为0全部的内容,包括:我用sort函数排序vector数组,为什么得到排序之后的数组内的元素全部为0、Arrays.sort数组排序命令怎么不管用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10083438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存