精华内容
下载资源
问答
  • c语言单链表节点排序
    千次阅读
    2019-10-11 23:14:23
    需求:

    c语言中的链表节点排序,然后查过网上一些源码,有很多就没有实现这个功能,有的只是单个数据修改而已,所以刚巧从书中找到一个案例

    源码:
    void sort(Stu head){
    	Stu p,q,r,t;
    	int flag = 1;
    	while(flag){
    		p = head;
    		q = head->next;
    		flag = 0;
    		while(q != NULL){
    			r = q->next;
    			if(r == NULL){
    				break;
    			}else if(q->svgNum < r->svgNum){
    				t = r->next;
    				q->next = t;
    				r->next = q;
    				p->next = r;
    				p = r;
    				q = p->next;
    				r = q->next;
    				flag = 1;
    			}else{
    				p = q;
    				q = p->next;
    			}
    		}
    	}
    }
    
    备注:

    结构体:
    typedef struct Student{
    char sid[10]; //学号
    char name[10]; //名字
    float mathNum;
    float engNum;
    float svgNum;
    Student * next;
    }*Stu;

    更多相关内容
  • 基于Python2.7实现的LeaderRank复杂网络节点排序算法,算法输出排序后每个节点的重要性值 参考论文:2011-Leaders in Social Networks, the Delicious
  • js代码-js 时间节点排序
  • 基于python-2.7实现的K-Shell节点排序算法,算法结果输出每个节点K值。
  • 复杂网络的重要节点是指相比网络其他节点而言,能够在更大程度上影响网络的结构与功能的一些特殊节点.近年来,节点重要性排序研究...在此基础上,本文分析了重要节点排序研究现存的一些问题,并展望了若干重要的开放性问题
  • 复杂网络节点重要性排序是研究复杂网络特性的重要方面之一,被广泛应用于数据挖掘、Web搜索、社会网络分析等众多研究领域。基于物理学场论模型,提出改进的随机游走模式的节点重要性排序算法,即通过节点之间相互...
  • 计算网络节点的重要程度,依据节点重要程度,对网页排序
  • 针对只对系统中某些关键负荷节点进行弱节点排序的需要,提出了衡量节点雅可比矩阵奇异的若干指标,将这些指标应用于弱节点排序并对其有效性进行了评价。算例表明除行列式指标外其他各种指标均适合于弱节点排序,而节点...
  • C语言链表节点排序

    千次阅读 2019-05-07 19:54:45
    初次用到链表的排序还是在C语言课程设计上,当时想着要把代码发到CSDN上,结果一拖再拖到现在。 我的课程设计项目为“学生成绩管理系统”,所用链表为双向链表链表。 涉及到成绩管理则避免不了成绩的排序。 结构体中...

    初次用到链表的排序还是在C语言课程设计上,当时想着要把代码发到CSDN上,结果一拖再拖到现在。

    我的课程设计项目为“学生成绩管理系统”,所用链表为双向链表链表。
    涉及到成绩管理则避免不了成绩的排序。
    结构体中的项目包括:

    1. 学生成绩;
    2. 学生姓名;
    3. 学生学号;
    4. 结构体的头指针与尾指针;
      先创建结构体:
    #include"stdio.h"
    #include"stdlib.h"
    #include"string.h"
    struct student
    {
    	struct student *ahead;
    	float grade[10];
    	char name[10];
    	char x[10];
    	struct student *next;
    }*head, *end, *New, *get, *stu;
    

    设置head指针和end指针。head指向头结点,end始终指向尾节点。
    输入数据:

    int input(int N, char **G)//数据输入
    //变量说明:“N”为考试的科目数量,此处**G为字符串指针数组,其中存储着考试科目。
    {
    	int i, c = 1, icount = 0, s[10], j, k, d;
    	char r[10];
    	for (j = 0; j < 10; j++)
    		s[j] = 0;
    	while (c)
    	{
    		New = (struct student *)malloc(sizeof(struct student));
    		printf("\t\t输入该名学生姓名(结束请按‘0’):");
    		scanf("%s", New->name);
    		if (New->name[0] != 48)
    		{
    			printf("\t\t输入该名学生学号:");
    			scanf("%s", r);
    			icount++;
    			strcpy(New->x, r);
    			New->grade[N] = 0;
    			for (i = 0; i < N; i++)
    			{
    				printf("\t\t%s成绩:", G[i]);
    				scanf("%f", &New->grade[i]);
    				if (New->grade[i] < 60)
    					s[i]++;
    				New->grade[N] = New->grade[N] + New->grade[i];
    			}
    			strcpy(New->mima, "1234");
    			end->next = New;
    			New->ahead = end;
    			end = New;
    			end->next = NULL;
    		}
    	}
    	else
    	{
    		c = 0;
    	}
    }
    

    链表已经创建完成,现在只需要向其中添加数据,下一步祭出我屌炸天 的链表节点排序代码?
    此代码运用简单选择排序的排序方法。即,先比较两个节点中数据的大小,并两个选中较大或较小的一个。并让选中的节点与下一个节点中的数据比较直到最后一个节点。比较完毕后将最小的节点接到链表的最后。
    当然,开始排序之前,我创建了一个空节点让其存储成绩的数组的每一个元素都等于“-1”将其接到了链表的最后作为新的有序链表与旧的无序链表的边界。在排序完毕后程序自动将此空节点删除。得到的就是新的有序数组。

    1.排序前的准备阶段(假设此处为升序排序)

    主要步骤为:

    1. 创建三个结构体指针“ *min”、“*xunow”、“ *uend”;
    2. uend就是我添加的边界空指针;
    int paixu(int N)//成绩排序
    {
    	int i;//在程序的后便会让用户选择升序还是降序排序,变量i的作用是根据i的值选择排序方式。若i为1则降序排列,0则升序排列
    	struct student *min, *xunow, *uend;
    	uend = (struct student *)malloc(sizeof(struct student));
    	uend->grade[0] = -1;
    	uend->next = NULL;
    	uend->ahead = end;
    	end->next = uend;
    

    2.排序执行阶段

    上一步中创建的三个结构体指针已经用掉了一个,在这一步中“min”代表比较值最小的节点。"xunow"表示当前与min节点比较的节点。

    1. 通过简单选择排序找出旧链表中的最小值节点;
    2. 将此最小值节点接到链表的最后;
    printf("\n\t\t升序排序(0)     降序排序(1)\n\t\t");
    	scanf("%d", &i);
    	for (min = head->next; min->next->grade[0] != -1; min = head->next)
    	{
    		xunow = min->next;
    		if (i == 0)
    		{
    			do
    			{
    				if (xunow->grade[0] < min->grade[0])
    				{
    					min = xunow;
    				}
    				xunow = xunow->next;
    			} while (xunow->next->grade[0] != -1 && xunow->grade[0] != -1 && min->next->grade[0] != -1);
    			min->ahead->next = min->next;
    			min->next->ahead = min->ahead;
    			min->ahead = uend;
    			uend->next = min;
    			uend = min;
    		}
    		else
    		{
    			do
    			{
    				if (xunow->grade[0] > min->grade[0])
    				{
    					min = xunow;
    				}
    				xunow = xunow->next;
    			} while ( xunow->grade[0] != -1 && min->next->grade[0] != -1);
    			min->ahead->next = min->next;
    			min->next->ahead = min->ahead;
    			min->ahead = uend;
    			uend->next = min;
    			uend = min;
    		}
    		
    	}
    

    3.排序完成收尾阶段

    在执行完上步代码后,表明排序基本完成。按照步骤,此时边界空节点的旧链表一侧还有最后一个具有有效数据的节点,即存储最大数据的节点。现在只需要将此节点与边界节点一起转移到整个链表的最后再删除边界节点,就能最终完成链表的排序。

        min = head->next;
    	xunow = min->next;
    	head->next = xunow->next;
    	xunow->next->ahead = head;
    	xunow->next = NULL;
    	min->ahead = uend;
    	uend->next = min;
    	uend = xunow;
    	end = uend->ahead;
    	uend->ahead->next = NULL;
    	free(uend);
    	return 0;
    }
    

    这就是自己在本学期的课程设计中,灵光一现敲出的链表节点排序代码。虽然不够简洁但不管怎么样这段代码还是实现了功能,即节点排序。

    展开全文
  • ztree全套的增删改查实例,包括编辑排序节点操作,demo仅供参考,希望给需要的朋友带来帮助,谢谢支持!
  • DOM节点排序实现

    千次阅读 2018-09-12 17:12:41
  • 链表的各种操作 删除节点 增加节点 排序 查询 C语言
  • NPM 包在有向图上对节点进行部分排序。 用于对从人类进行的成对比较中获得的数据进行排序。 理由 人们 a) 感到无聊 b) 他们的反馈不一致。 图排序允许我们使用传递优势,并在反馈中具有循环(a>b>c>a)。 定义 在本...
  • 今天工作当中,遇到一个问题,XML的Schema文件中定义的complexType是一个Sequence,这就要求符合这个Schema定义的XML的数据节点,必须要按照Schema中Sequence定义的顺序出现(etag-->id-->kind-->selfLink-->title--...

    今天工作当中,遇到一个问题,XML的Schema文件中定义的complexType是一个Sequence,这就要求符合这个Schema定义的XML的数据节点,必须要按照Schema中Sequence定义的顺序出现(etag-->id-->kind-->selfLink-->title-->updated),否则Schema校验将会出错。请见下图1和图2, 换句话说,在于XML的数据中节点的出现的顺序和必须和Schema中(节点的顺序是按照节点名字的字母升序排列)定义的顺序一致,否则Schema的校验是通不过的.

    图1


    图2


    那么在这种情况,如何用最少的代码,同时又不引用任何除JDK外的第三方的jar包呢?

    答案就是使用XSL技术(http://www.w3schools.com/xsl/) 把XML数据中的节点TaskList节点,按照节点的名字升序排列,这样的话,XML数据和Scheam定义的顺序

    就能完全保持一致,Schema的校验就能完全通过。具体的XSL文件和Java代码清单如下,


    1. XSL文件如下

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <xsl:output omit-xml-declaration="yes" indent="yes"/>
     <xsl:strip-space elements="*"/>
    <xsl:template match="node()|@*">
    <xsl:copy>
    <xsl:apply-templates select="@*">
    <xsl:sort select="name()" />
    </xsl:apply-templates>
    <xsl:apply-templates select="node()">
    <xsl:sort select="name()" />
    </xsl:apply-templates>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>



    2.Java代码如下,


    import javax.xml.transform.*;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.stream.StreamSource;
    public class XSDSequenceElementsSorter {
    public static void main(String[] args) {
    String dataXML = "c:\test\tasklists_data.xml";
        String inputXSL = "c:\test\tasklists_data.xsl";
        String outputHTML ="c:\test\tasklists_data_sorted.xml";
    try {
       TransformerFactory factory = TransformerFactory.newInstance();
           StreamSource xslStream = new StreamSource(inputXSL);
           Transformer transformer = factory.newTransformer(xslStream);
           StreamSource in = new StreamSource(dataXML);
           StreamResult out = new StreamResult(outputHTML);
           transformer.transform(in, out);
    } catch (TransformerConfigurationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (TransformerException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }


    展开全文
  • 支持节点拖动排序的VB树形视图控件,每一个节点,包括父节点和子节点都可以拖动,值得关注的一个VB源码。
  • treeview对节点排序后对应的listview立刻排序,排序的结果和treeview要保持一致,怎么实现?
  • 详解XML节点属性排序

    千次阅读 2022-03-25 22:36:38
    用python实现“对xml节点中的属性进行排序
  • 一种节点组重要性排序方法

    千次阅读 2020-05-17 21:00:00
    网络科学中关于节点重要性排序方法很多,譬如节点度(degree),中心度(K-shell)即核数(coreness),介数(betweenness),H-index,还有 Page-Ra...
  • 如何根据链表节点数据大小对链表节点进行排序

    千次阅读 多人点赞 2020-09-14 15:57:52
    链表节点排序算法,采用(冒泡排序)。 定义一个指针end,end最开始时赋值为空,再经过一次比较后,找到一个最大值,将该最大值的指针赋给end;每次循环找到该次循环中的最大值,都将其指针赋值给end,等于说end每次...
  • 区块链之Orderer排序节点

    千次阅读 2020-04-17 20:40:23
    Orderer排序节点负责通道创建、通道配置更新等操作,处理客户端提交的交易消息请求,对交易进行排序并按照规则打包成新区块,提交账本并维护通道账本数据,为全网节点提供交易广播服务、Orderer共识排序服务、...
  • 提出了一个多层网络节点重要性排序框架,其核心是每层提取多个指标,对指标和层次赋权叠加构成一个综合评价矩阵,在这个矩阵基础上进行排序。实验证明,该框架可以灵活适应不同的应用场景、不同指标集合。框架给出的...
  • 关于TreeView控件的节点排序

    千次阅读 2009-01-16 11:03:00
    所以,如果你已经设置了一个节点的sorted属性为true,那你在它下面再加入节点,新节点就按字母序插入;如果你没设置它的sorted,新节点就按节点添加的时间先后顺序插入。当然,新增节点时,也可以具体指定在哪个个...
  • 基于LS-SVM方法在复杂网络中快速排序节点重要性
  • Orderer在Fabric网络中的作用主要是原子广播(Atomic Broadcast)和全排序(Total Order )。 - orderer通过`broadcast`接口,接受client发送的交易,然后将这些Tx进行排序排序的的原则为FIFS(First In First ...
  • 排序中非叶子节点的位置怎么算

    千次阅读 2020-09-15 15:36:30
    设n个节点中 有x个非叶子节点和y个叶子节点,x+y =n ,从上往下看,所有的非叶子节点都有两个出度,叶子节点没有-》2x = n-1 = x+y-1->x=y-1 从上面式子可知道 非叶子节点比叶子节点少一个,而int型在在进行除法...
  • C#WinForm treeview经典用法和排序 C#WinForm treeview经典用法和排序
  • ANSYS使用APDL数组实现节点坐标大小排序,并返回其对应的节点编号 注:节点组件node_cm中的所有节点都在一条直线上,即所有节点坐标的三个分量有两个是相同的,假设节点组件在空间中的位置平行于x轴,y,z坐标为常数...
  • zTree通过拖拽节点实现排序功能

    万次阅读 热门讨论 2015-04-30 23:12:41
    1. 需要下载的文件 2. 效果图  加载出来树形结构之后,可以自由的拖拽节点进行节点的重新排序。效果图如下 3. 代码
  • XML节点排序的一种方法

    千次阅读 2011-03-21 12:49:00
    XML节点排序的一种方法,XLS
  • 项目中要求tree型的json数据按照json的某个字段对子节点进行排序,自己花时间写了写,整理如下: 要求:按照type属性对json数据进行排序,没有子节点(type=0)的排在前面 1.初始效果图和排序后效果图   1....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 473,366
精华内容 189,346
关键字:

节点排序