源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

用C和JAVA分别创建链表的实例

  • 时间:2021-06-06 22:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用C和JAVA分别创建链表的实例
创建链表、往链表中插入数据、删除数据等操作,以单链表为例。 1.使用C语言创建一个链表:
[u]复制代码[/u] 代码如下:
typedef struct nd{   int data;   struct nd* next; } node; //初始化得到一个链表头节点 node* init(void){    node* head=(node*)malloc(sizeof(node));   if(head==NULL) return NULL;   head->next=NULL;   return head; } //在链表尾部插入数据 void insert(node* head,int data){    if(head==NULL) return;   node* p=head;   while(p->next!=NULL)     p=p->next;   node* new=(node*)malloc(sizeof(node));    if(new==NULL) return;   new->data=data;   new->next=NULL;//新节点作为链表的尾节点   p->next=new;//将新的节点链接到链表尾部 } //从链表中删除一个节点,这里返回值为空,即不返回删除的节点 void delete(node* head,int data){   if(head==NULL) return ;   node *p=head;   if(head->data==data){//如何头节点为要删除的节点     head=head->next;//更新链表的头节点为头节点的下一个节点     free(p);     return;   }   node *q=head->next;   while(q!=NULL){      if(q->data==data){//找到要删除的节点q       node *del=q;       p->next=q->next;        free(del);      }     p=q;//不是要删除的节点,则更新p、q,继续往后找     q=q->next;    } }
2.Java创建链表 创建一个链表
[u]复制代码[/u] 代码如下:
class Node {   Node next = null;    int data;   public Node(int d) { data = d; }   void appendToTail(int d) {//添加数据到链表尾部     Node end = new Node(d);     Node n = this;     while (n.next != null) { n = n.next; }     n.next = end;   } }
从单链表中删除一个节点
[u]复制代码[/u] 代码如下:
Node deleteNode(Node head, int d) {    Node n = head;   if (n.data == d) { return head.next; /* moved head */ }   while (n.next != null) {     if (n.next.data == d) {        n.next = n.next.next;        return head; /* head didn't change */     } n = n.next;    } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部